信号功能是否足够安全,只能忽略或恢复信号处理程序?

时间:2014-10-27 07:20:10

标签: c linux unix signals

我读过很多文章,建议使用sigaction替换signal,原因有很多。但在阅读了一些开源代码(例如RedisLua)之后,我发现signal仍然存在。

如果我只使用signal忽略或恢复默认处理程序,例如:

signal(SIGPIPE, SIG_IGN);

或:

signal(SIGPIPE, SIG_DFL);

signal足够安全吗?

1 个答案:

答案 0 :(得分:1)

Linux上的

man 2 signal说:

  

signal()的唯一可移植用途是设置信号对SIG_DFL或SIG_IGN的处置。

所以是的,对于您所询问的特定用途,没关系。尽管如此,如果在您关注的平台上可以使用sigaction(),似乎没有什么优势。