码迷,mamicode.com
首页 >  
搜索关键字:sigpipe    ( 56个结果
singnal 13 was raised
在app运行过程中按下home键或者其他原因app被挂起,socket连接不会断开,服务器为了节省资源,在一段时间后会主动关闭这个连接。当玩家再次切回到游戏后,前端并不知道这个连接已经断开了,继续通过断开的socket发送消息,这时候send函数会触发SIGPIPE异常导致程序崩溃。解决这个问题我们...
分类:其他好文   时间:2015-07-27 11:01:40    阅读次数:163
探讨socket引发SIGPIPE信号的问题
我写socket相关的程序也不是一天两天了,在我的记忆中,只要处理好recv(或read)的返回值中0三种情况,程序便不会有什么问题。但最近在看公司的源代码时,发现代码中直接将SIGPIPE设置为SIG_IGN。而且附上一段注释:往一个已经关闭的socket写入数据会触发SIGPIPE。我心中顿.....
分类:其他好文   时间:2015-06-14 18:13:13    阅读次数:204
SIGPIPE
看到很多网络程序都有一段忽略SIGPIPE信号的处理,故总结一下。第一次对其disconnected socket调用write方法时, 如果发送缓冲没问题, 会返回正确写入(发送). 但发送的报文会导致对端发送RST报文, 因为对端的socket已经调用了close, 完全关闭, 既不发送, 也不...
分类:其他好文   时间:2015-05-20 22:14:26    阅读次数:753
[转] 关于SIGPIPE导致的程序退出
PS: 如果服务器程序不忽略SIGPIPE,在某些时候TCP writer收到这个信号,会导致进程退出The rule that applies is: When a process writes to a socket that has received an RST, the SIGPIPE s...
分类:其他好文   时间:2015-05-14 17:53:24    阅读次数:218
Android 4.4KitKat AudioFlinger 流程分析
AudioFlinger(AF)是一个服务,具体的代码在av\media\mediaserver\Main_mediaserver.cpp中: int main(int argc, char** argv) { signal(SIGPIPE, SIG_IGN); char value[PROPERT...
分类:移动开发   时间:2014-12-26 16:38:10    阅读次数:294
关于SIGPIPE信号
在linux下写socket的程序的时候,如果尝试send到一个disconnected socket上,就会让底层抛出一个SIGPIPE信号。这个信号的缺省处理方法是退出进程,大多数时候这都不是我们期望的。因此我们需要重载这个信号的处理方法。调用以下代码,即可安全的屏蔽SIGPIPE:signal...
分类:其他好文   时间:2014-10-27 22:35:27    阅读次数:156
[Linux]进程——备忘
1,SIGPIPE信号:在linux下写socket的程序的时候,如果尝试send到一个disconnected socket上,就会让底层抛出一个SIGPIPE信号。这个信号的缺省处理方法是退出进程,大多数时候这都不是我们期望的。因此我们需要重载这个信号的处理方法。调用以下代码,即可安全的屏蔽SI...
分类:系统相关   时间:2014-10-26 09:05:58    阅读次数:221
linux编程下signal()函数
linux编程下signal()函数当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。根据信号的默认处理规则SIGPIPE信号的默...
分类:系统相关   时间:2014-10-24 18:47:43    阅读次数:284
signal(SIGPIPE, SIG_IGN) (转)
signal(SIGPIPE, SIG_IGN) (转)signal(SIGPIPE, SIG_IGN) 当服务器close一个连接时,若client端接着发数据。根据TCP 协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这....
分类:其他好文   时间:2014-10-24 18:29:40    阅读次数:171
signal(SIGCHLD, SIG_IGN)和signal(SIGPIPE, SIG_IGN);
signal(SIGCHLD, SIG_IGN)和signal(SIGPIPE, SIG_IGN);signal(SIGCHLD, SIG_IGN);因为并发服务器常常fork很多子进程,子进程终结之后需要服务器进程去wait清理资源。如果将此信号的处理方式设为忽略,可让内核把僵尸子进程转交给in....
分类:其他好文   时间:2014-10-24 18:24:50    阅读次数:176
56条   上一页 1 2 3 4 5 6 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!