[问题] sigaction的mask问题

楼主: TMDTMD2487 (ㄚ冰)   2018-11-22 01:18:17
开发平台(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结束,还是有别的方式能处理呢
作者: yvb   2018-11-22 14:40:00
作者: jusnit   2018-11-24 01:39:00
还在block中signal又收到重复时,后到的会被前面的合并掉除非是SIGUSR系列,那就保证送出几个signal就会收到几个
作者: tinlans ( )   2018-11-24 02:43:00
不用 handler 直接 SIG_IGN 不行吗?

Links booklink

Contact Us: admin [ a t ] ucptt.com