SIGPIPE信号处理
来源:互联网 发布:农村淘宝考试题和答案 编辑:程序博客网 时间:2024/06/05 22:52
在unix下写socket程序,会遇到连接建立,若某一端关闭连接,而另一端仍然向它写数据,第一次写数据后会收到RST响应,此后再写数据,内核将向进程发出SIGPIPE信号,通知进程此连接已经断开。而SIGPIPE信号的默认处理是终止程序,导致上述问题的发生。
为避免这种情况,可以选择忽略SIGPIPE信号,不执行任何动作。
#include <signal.h>
//SIGPIPE ignore
struct sigaction act;
act.sa_handler = SIG_IGN;
if (sigaction(SIGPIPE, &act, NULL) == 0) {
LOG("SIGPIPE ignore");
}
0 0
- [linux] SIGPIPE信号处理
- sigpipe信号处理
- SIGPIPE信号处理
- SIGPIPE信号的处理
- 处理SIGPIPE信号
- socket编程问题-SIGPIPE信号处理
- socket编程问题-SIGPIPE信号处理
- socket编程问题-SIGPIPE信号处理
- gdb中忽略信号处理 SIGPIPE
- SIGPIPE信号的产生以及处理
- Linux下SIGPIPE信号及其处理
- Linux下SIGPIPE信号及其处理
- SIGPIPE信号
- SIGPIPE信号
- SIGPIPE信号
- SIGPIPE信号
- SIGPIPE信号
- SigPipe信号
- Linux多线程中使用信号-1
- Linux2.6用户态API HooK手动操作
- C++ 三目运算符
- android平台上的json解析
- 《疯狂的号码》全网上线 揭“号码大战”内幕
- SIGPIPE信号处理
- hibernate4 spring3 整合
- 黑马程序员-Foundation的使用
- 随笔(2014.12)
- C++读取excel表格
- DDoS攻击防御方案
- 去掉UINavigationBar下面黑线方法
- Java NIO系列教程
- 【PB】PowerBuilder API Site