作者TMDTMD2487 (ㄚ冰)
看板C_and_CPP
標題[問題] sigaction的mask問題
時間Thu Nov 22 01:18:17 2018
開發平台(Platform): (Ex: Win10, Linux, ...)
Ubuntu Linux
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
clang, gun99
問題(Question):
原本用 signal() 可是後來發現我需要處理更多signal跟mask所以在測試sigaction
我只是一直 fork 跟 exit 然後用自己的 handler 去回收
然後發現還有很多zombie清不乾淨
程式碼(Code):
http://codepad.org/VYcuxlcU
補充說明(Supplement):
試過sigaddset了,waitpid也試過no flag,還是是我對他的mask行為有錯
我是以為它會把他們block直到handler結束,還是有別的方式能處理呢
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.180.161
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1542820724.A.9B8.html
2F:推 jusnit: 還在block中signal又收到重複時,後到的會被前面的合併掉 11/24 01:39
3F:→ jusnit: 除非是SIGUSR系列,那就保證送出幾個signal就會收到幾個 11/24 01:41
4F:→ tinlans: 不用 handler 直接 SIG_IGN 不行嗎? 11/24 02:43