![](/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.