免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3821 | 回复: 3
打印 上一主题 下一主题

信号屏蔽继承吗,确认一句翻译,谢谢各位老师 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-06-18 09:42 |只看该作者 |倒序浏览
The set of signals pending for the child process shall be initialized to the empty set.
已经设置的信号在子进程中将被置空?

论坛徽章:
0
2 [报告]
发表于 2010-06-18 10:00 |只看该作者
挂起的信号被清空。

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

与SIG_IGN不大一样

————摘自APUE2

论坛徽章:
1
寅虎
日期:2014-11-30 21:25:54
3 [报告]
发表于 2010-06-18 22:36 |只看该作者
本帖最后由 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的最后一段话。

论坛徽章:
0
4 [报告]
发表于 2010-06-19 11:48 |只看该作者
未决信号不继承
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP