簡體   English   中英

為什么在sigaddset()之前需要使用sigemptyset()函數?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM