【发布时间】:2011-06-13 03:06:22
【问题描述】:
如果没有信号 set 在调用时处于挂起状态,线程应为 暂停直到一个或多个成为 待办的。由 set 定义的信号 应已被阻止 调用 sigwait() 的时间;否则,行为未定义。 sigwait() 对信号的影响 集合中信号的动作是 未指定。
这真是模棱两可,pending和block这里有什么区别?
它关于如何在sigwait和sigaction之间进行选择的结论根本不清楚:
总之,当需要 代码运行以响应 通知一个异步信号 线程,sigwait() 应该用于 处理信号。交替- tively,如果实现提供信号量,它们也可以是 使用,在 sigwait() 或 从信号处理例程中 以前注册 使用 sigaction()。
有人可以让sigwait的理由更合理吗?
【问题讨论】:
-
它暂停线程的执行,直到收到指定的信号。这怎么不合理?
-
1.这里的pending和block有什么区别?2.sigwait和sigaction怎么选,比较清楚?