- 论坛徽章:
- 0
|
本帖最后由 qqliangqi 于 2010-11-25 15:57 编辑
#include<iostream>
#include<unistd.h>
#include<sys/types.h>
#include<signal.h>
using namespace std;
void sigfun(int sig)
{
cout<<"sig"<<endl;
}
void almfun(int sig)
{
sigset_t sigst;
sigfillset(&sigst);
if(0==sigprocmask(SIG_SETMASK,&sigst,NULL))
{
cout<<"alarm"<<endl;
}
}
int main(){
struct sigaction sigac;
sigac.sa_handler = sigfun;
sigac.sa_flags = SA_RESTART;
sigaction(SIGINT,&sigac,NULL);
sigac.sa_handler = almfun;
sigaction(SIGALRM,&sigac,NULL);
alarm(30);
for(;
{}
return 0;
}
30秒后alarm输出表示设置屏蔽成功,但是我对这个程序发SIGINT,它还是能响应没有屏蔽的样子,求解答 |
|