Linux-C-信号未决/阻塞-BlockSig(sigset_t s)
Linux-C-信号未决/阻塞-BlockSig(sigset_t s)
//BlockSig(SIGPIPE) void BlockSig(int sig) { sigset_t signal_mask; //设置信号集参数 sigemptyset(&signal_mask); //sigemptyset是将s的信号集先清空, sigaddset(&signal_mask, sig);//sigaddset就是把sig加入到s的信号集中,即该位设为1,堵塞。 //pthread_sigmask(SIG_BLOCK, &signal_mask, NULL); //函数中的参数SIG_BLOCK 的作用是将s集合set集合相或操作,于是set的信号集中的第二位被设置为阻塞,NULL 表明不关心信号set集中原有的内容 sigpromask(SIG_BLOCK, &signal_mask, NULL); //当按下ctrl+c时,由于阻塞信号集的第二位设为1,信号未被处理,呈现出未决态 }
本文来自博客园,作者:Theseus‘Ship,转载请注明原文链接:https://www.cnblogs.com/yongchao/p/14252795.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步