SIG_DFL具体是做什么的?

19

SIG_DFL(信号的默认处理程序)具体做什么?我对调试SIGTSTP感兴趣。在奇怪的条件下,它会有轻微的异常行为。我怀疑如果其中一个线程处于TASK_INTERRUPTIBLE状态,则会执行一些奇怪的操作。

SIG_DFL源代码在哪里?Libc中吗?

谢谢。

1个回答

30

SIG_DFL (用于信号的默认处理程序) 究竟是什么?

SIG_DFL 的作用正如其字面意思所述:告诉内核,对于给定的信号没有用户信号处理程序,并且内核应该采取默认操作(操作本身可能是忽略信号、终止程序(有或无核心转储)等,具体取决于信号)。

SIG_DFL 源代码在哪里?Libc吗?

通常情况下,在 /usr/include/signal.h 中会有一个 #define SIG_DLF -1,但具体决策由内核负责。


所以它在内核中...我想这解释了我所有的挣扎。谢谢。 - George Shuklin
@Employed Russian,链接已经失效了 :-( ,能否更新一下呢?谢谢 :-)。 - Li-Guangda
@LGD 更新了链接。 - Employed Russian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接