Unix中暂时阻塞用户信号

程序可以用以下代码来暂时地阻塞SIGINT和SIGQUIT信号

sigset_t sigs,prevsigs;//定义两个信号集合

sigemptyset(&sigs);//关掉所有的位

sigaddset(&sigs,SIGINT);/*turn on SIGINT bit*/

sigaddset(&sig,SIGQUIT);//打开SIGQUIT位

sigprocmask(SIG_BLOCK,&sig,&prevsigs);//把SIGINT,SIGQUIT添加到信号挡板

sigprocmask(SIG_SET,*prevsigs,NULL);//保存先前的设置,以便能恢复原来的挡板设置

 

posted @ 2021-03-14 00:19  诗和远方*  阅读(46)  评论(0编辑  收藏  举报