我如何删除信号处理程序

时间:2012-02-15 22:25:23

标签: c posix signal-handling

我已经制作了跟随信号处理程序

struct sigaction pipeIn;
pipeIn.sa_handler = updateServer;
sigemptyset(&pipeIn.sa_mask);
sa.sa_flags = SA_RESTART;

if(sigaction(SIGUSR1, &pipeIn, NULL) == -1){

    printf("We have a problem, sigaction is not working.\n");
    perror("\n");
    exit(1);    

}

如何删除或阻止此特定处理程序,以便我可以设置另一个使用相同信号的信号处理程序?感谢。

1 个答案:

答案 0 :(得分:17)

在调用sigaction(2)时使用SIG_DFL代替函数指针。