3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com/1 .临时阻止信号,以防止信号处理器中断某些重要代码片段的执行
2 .解除信号阻断,暂停执行直到信号到达。
一、介绍之前,如果不想用正在运行的信号中断某个任务,可以用sigprocmask或sigaction的sa_mask阻止信号,任务结束后再解除阻止注意:
虽然这样做没有问题,但假设一个任务完成后,sigprocmask会释放信号,并等待pause ) )之后的信号到来。 这里存在潜在的时间差错误。
sigset_t prevMask; if(sigprocmask(SIG_setmask,prevMask,NULL )==-1 ) {perror(sigprocmask: ) }; exit(exit_failure; (pa