在send()函数中,放置MSG_NOSIGNAL标志是否可行?

4

我之前提过一个问题

我正在运行一个服务器和一个客户端。由于管道破裂,SIGPIPE信号使我的服务器崩溃。我读到上面的标志可以防止该信号被触发。现在我的程序可以正常工作而且不会崩溃了。但是,我想知道这样做的后果。如果我阻止了SIGPIPE信号的触发会发生什么?


1
+1 有趣的问题。大多数应用程序作者会盲目安装处理程序以忽略PIPE信号。 - Sam Miller
1个回答

3

好的,你不应该介意:这只是处理错误的一种不同方式。

使用MSG_NOSIGNAL似乎更加优雅,比忽略SIGPIPE更好,因为你可能需要在程序的其他地方使用此功能。


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