我如何删除信号处理程序

Dr.*_*all 15 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);    

}
Run Code Online (Sandbox Code Playgroud)

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

Nik*_*sov 19

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

  • 或者用新的信号处理程序替换现有的信号处理程序; 不需要先删除旧的. (3认同)