因此,在我的应用程序开始时,我调用
signal(SIGPIPE, SIG_IGN);
我认为这会让我的应用程序忽略SIGPIPE。然而,我仍然得到了以下代码的SIGPIPE崩溃:
write(fd, outgoingStr->c_str(), size);
其中fd是int (文件描述符),size是字符串的大小。我在这里做错了什么?
顺便说一句,我最近在if中使用了write来检查返回的错误值,我相信在它被删除之前,我从来没有遇到过SIGPIPE崩溃。如果有错误,if检查只会向控制台发出cout,所以我不确定它是否相关。
发布于 2012-10-16 10:36:44
问题最终是GDB会在SIGPIPE上停止,即使它被忽略了。当运行应用程序时,它正常工作。
https://stackoverflow.com/questions/12888966
复制相似问题