int main(int argc,int argv[]) { struct sigaction newhandler; sigset_t blocked; void inthandler(int); newhandler.sa_handler=inthandler; newhandler.sa_flags=SA_RESETHAND; sigemptyset(&blocked); sigaddset(&blocked,SIGQUIT); newhandler.sa_mask=blocked; if (sigaction(SIGINT,&newhandler,NULL)==-1) perror("sigaction"); else while(1) { } return 0; } void inthandler(int sig) { printf("Get the signal ;\n"); sleep(3); } |
原帖由 waternie 于 2008-9-4 10:47 发表
int main(int argc,int argv[])
{
struct sigaction newhandler;
sigset_t blocked;
void inthandler(int);
newhandler.sa_handler=inthandler;
newhandler.sa_flags=SA_RESETHA ...
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |