【发布时间】:2011-04-25 21:07:19
【问题描述】:
在多线程环境中,将 SIGCANCEL 发送到线程时会发生什么?
如果将 SIGKILL 发送到线程,行为会有什么不同?
【问题讨论】:
-
我认为 Linux 根本不支持
SIGCANCEL。我知道它已被 POSIX 弃用。
标签: linux multithreading signals
在多线程环境中,将 SIGCANCEL 发送到线程时会发生什么?
如果将 SIGKILL 发送到线程,行为会有什么不同?
【问题讨论】:
SIGCANCEL。我知道它已被 POSIX 弃用。
标签: linux multithreading signals
glibc pthread 实现中当前(内部)使用的SIGCANCEL 定义为__SIGRTMIN。
如果为取消类型设置为异步的线程调用pthread_cancel(),则通过tgkill() 发送__SIGRTMIN 将其关闭。
反过来,这可能意味着接收__SIGRTMIN 的线程的行为就像它被异步取消一样。 (我没有测试过)
【讨论】:
就像 Travis 所说,SIGCANCEL 一直是 deprecated,并且在 POSIX 标准中不存在。
【讨论】: