日期:2014-05-16  浏览次数:20640 次

信号的"安全和不安全",仅仅是指signal()和sigaction()的区别么?
看apue看的好晕,在信号安全这一段.

所谓的安全和不安全信号,和信号本身有关么? 例如0-31的信号是安全的么? >31的用户信号是安全的么?
POSIX操作系统处理信号的过程,例如OS给进程发送信号,是安全的么,是不是可能丢失信号?

还是说,只是signal()函数不安全,sigaction函数安全? 如果是这样的话,sigaction函数到底安全在哪里?
看apue看的好晕,在信号安全这一段.

------解决方案--------------------
你说的信号安全是指 “可重入” 吗?
------解决方案--------------------
是说可以安全的在信号处理函数中调用而不会引起不可预知问题的函数吧
------解决方案--------------------
如果不在信号处理函数中调用 不可重入的函数,那么你的程序行为就是可控的