问题
I've made the follow signal handler
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);
}
How do I remove or block this particular handler so that I can set up another signal handler that uses the same signal? Thanks.
回答1:
Use SIG_DFL
in place of the function pointer when calling sigaction(2).
来源:https://stackoverflow.com/questions/9302464/how-do-i-remove-a-signal-handler