关于SIGPIPE信号
来源:互联网 发布:网络谣言的刑法规制 编辑:程序博客网 时间:2024/06/07 20:59
连接建立,若某一端关闭连接,而另一端仍然向它写数据,第一次写数据后会收到RST响应,此后再写数据,内核将向进程发出SIGPIPE信号,通知进程此连接已经断开。而SIGPIPE信号的默认处理是终止程序,导致上述问题的发生。
#include <signal.h>//SIGPIPE ignorestruct sigaction act;act.sa_handler = SIG_IGN;if (sigaction(SIGPIPE, &act, NULL) == 0) { LOG("SIGPIPE ignore");}
系统里边定义了三种处理方法:
(1)SIG_DFL信号专用的默认动作:
(a)如果默认动作是暂停线程,则该线程的执行被暂时挂起。当线程暂停期间,发送给线程的任何附加信号都不交付,直到该线程开始执行,但是SIGKILL除外。
(b)把挂起信号的信号动作设置成SIG_DFL,且其默认动作是忽略信号 (SIGCHLD)。
(2)SIG_IGN忽略信号
(a)该信号的交付对线程没有影响
(b)系统不允许把SIGKILL或SIGTOP信号的动作设置为SIG_DFL
3)SIG_ERR
项目中我调用了signal(SIGPIPE, SIG_IGN), 这样产生
阅读全文
0 0
- 关于SIGPIPE信号
- 关于SIGPIPE信号
- 关于SIGPIPE信号
- 关于SIGPIPE信号
- 关于SIGPIPE信号
- 关于SIGPIPE信号
- 关于SIGPIPE信号
- 关于SIGPIPE信号
- 关于SIGPIPE信号
- 关于SIGPIPE信号
- 关于SIGPIPE信号
- 关于SIGPIPE信号
- 关于SIGPIPE信号
- 关于SIGPIPE信号
- 关于SIGPIPE信号
- 关于SIGPIPE信号
- 关于SIGPIPE信号
- 关于SIGPIPE信号
- 解决使用jrebel,集成在eclipse的tomcat里面,修改类和jsp都可以加载修改后的类和文件,无法马上更新修改过的jsp
- iOS git checkout之一 HEAD基本和detached 状态
- STL常用函数复习之————bitset
- win10下 maven 错误解决。
- Leetcode 300. Longest Increasing Subsequence
- 关于SIGPIPE信号
- 题解
- Codeforces Round #422 (Div. 2) B. Crossword solving
- FPGA学习记录二
- map的应用 热血格斗场
- 维特比算法viterbi的简单实现 python版
- ubuntu16.04安装PHP7.0的laravel必须扩展
- rsync命令----解决远程拷贝一个问题通过scp不能复制ln文件
- Java泛型