Linux SIGPIPE崩溃服务器

时间:2012-10-15 03:36:13

标签: linux sigpipe

所以在我的应用程序开始时我打电话给

signal(SIGPIPE, SIG_IGN);

我认为我的应用程序会忽略SIGPIPE。但是我仍然遇到以下代码的SIGPIPE崩溃:

write(fd, outgoingStr->c_str(), size);

其中fd是int(文件描述符),size是字符串的大小。我在这里做错了什么?

另一方面,我最近用来将if包装在if中以检查返回的错误值,并且我相信在删除之前我从未遇到过SIGPIPE崩溃。如果出现错误,if check只会对控制台进行cout,所以我不确定它是否相关。

1 个答案:

答案 0 :(得分:2)

问题最终是GDB将在SIGPIPE上停止,即使它被忽略了。正常运行应用程序时,它按预期工作。