宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

SIGPIPE信号的产生

在tcp四次挥手过程中,发送方向已经调用close)方法的socket一端写数据,会产生sigpipe错误。

close):关闭读写两个方向,会导致sigpipe信号
shutdown):可以选择关闭读/写方向,不会导致sigpipe信号

SIGPIPE信号的解决方法

直接忽略sigpipe信号

void handle_for_sigpipe)
{
    struct sigaction sa;
    memset&sa, '
void handle_for_sigpipe)
{
struct sigaction sa;
memset&sa, '\0', sizeofsa));
sa.sa_handler = SIG_IGN;
sa.sa_flags = 0;
ifsigactionSIGPIPE, &sa, NULL))
return;
}

', sizeofsa));
sa.sa_handler = SIG_IGN;
sa.sa_flags = 0;
ifsigactionSIGPIPE, &sa, NULL))
return;
}