+ -
当前位置:首页 → 问答吧 → 信号屏蔽继承吗,确认一句翻译,谢谢各位老师

信号屏蔽继承吗,确认一句翻译,谢谢各位老师

时间:2010-06-18

来源:互联网

The set of signals pending for the child process shall be initialized to the empty set.
已经设置的信号在子进程中将被置空?

作者: zwjwelch   发布时间: 2010-06-18

挂起的信号被清空。

挂起的信号就是收到的sigprocmask中设置了的信号

与SIG_IGN不大一样

————摘自APUE2

作者: okocha-jay   发布时间: 2010-06-18

本帖最后由 vbs100 于 2010-06-18 23:07 编辑

The set of signals pending for the child process shall be initialized to the empty set.
子进程的待处理信号集会被初始化为空集。
The set of signals pending  待处理信号集,就是这个信息已经发到进程了,但是由于cpu调度的原因还没处理信号。

子进程会继承父进程的屏蔽信号和信号处理设置。下面总结一个表,我自己也学习下

信号处理设置(Signal Disposition)
屏蔽信号(Signal Mask)
待处理信号(Pending Signal)


                                 fork   execue   pthread_create
Signal Disposition        1        0           -
Signal Mask                 1        1           1
Pending Signal             0        1           0

1表示执行操作后子进程/线程会继承,0不继承。 - 表示共享的,信号处理设置只能到进程级,不能到线程级。

另外一个容易弄混的地方是多线程程序收到process-directed  signal由哪个线程来处理。POSIX.1规定信号要随机的发送到一个线程里。这点LinuxThread没有实现,它只会发送到特定的线程。NPTL是否满足POSIX.1的这个要求也不清楚,原因在apue 12.8的最后一段话。

作者: vbs100   发布时间: 2010-06-18

热门下载

更多