返回信息流Program received signal SIGPIPE, Broken pipe.
总是收到这个信号,查了一下说是在发送的write的时候对方把连接断开了
系统默认收到这个信号就结束进程
搜ACE的例子找到2个忽略这个信号的方法,但是都没效果
1
ACE_Sig_Action sig_act (SIG_IGN);
if (sig_act.register_action (SIGPIPE) == -1)
ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "ACE_Sig_Action::register_action"), -1);
2
ACE_Sig_Action no_sigpipe ((ACE_SignalHandler) SIG_IGN);
ACE_Sig_Action original_action;
no_sigpipe.register_action (SIGPIPE, &original_action);
这个信号怎么处理?在前面怎么定义忽略这个信号,之后在write之后还是否必须对错误处理么
这是一条镜像帖。来源:北邮人论坛 / soft-design / #29326同步于 2008/8/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖
linux下socket的signal问题
DarkIce
2008/8/22镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
想忽略该信号的话
#include <signal.h>
signal(SIGPIPE, SIG_IGN);
http://zxffl.blog.163.com/blog/static/259097620079122027778/