![](/img/trans.png)
[英]Why I had executed sigemptyset before sigaction, but sometimes the SIGALRM is blocked
[英]Why do I need to use the sigemptyset() function before the sigaddset()?
有人告诉我,我想每次都使用sigset_t block_mask
,我还需要使用sigemptyset()
函数之前我用sigaddset()
例如:
sigset_t block_mask;
sigemptyset(&block_mask);
sigaddset(&block_mask, SIGSEGV);
为什么每次都需要这样做?
sigaddset
更改集合中的单个信号,但不影响所有其他信号的信息。 没有sigemptyset
,其他信息将不会被初始化。
将信号集视为位掩码,如下所示:
sigset_t block_mask; int block_mask;
sigemptyset(&block_mask); block_mask = 0;
sigaddset(&block_mask, SIGSEGV); block_mask |= 1 << SIGSEGV;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.