本文目录
孙子线程中的sigpipe是发给谁的
我的一个服务器程序, 在Windows下运行正常.
但当在Linux(centos 6.3)下,进行对端未开启的异常测试时,出现莫名退出 . 最后跟踪到是write调用导致退出. 用gdb执行程序, 退出时提示“Broken pipe“.
问题分析:
对一个对端已经关闭的socket调用两次write, 第二次将会生成SIGPIPE信号, 该信号默认结束进程.
具体的分析可以结合TCP的”四次握手”关闭. TCP是全双工的信道, 可以看作两条单工信道, TCP连接两端的两个端点各负责一条. 当对端调用close时, 虽然本意是关闭整个两条信道, 但本端只是收到FIN包. 按照TCP协议的语义, 表示对端只是关闭了其所负责的那一条单工信道, 仍然可以继续接收数据. 也就是说, 因为TCP协议的限制, 一个端点无法获知对端已经完全关闭.
对一个已经收到FIN包的socket调用read方法, 如果接收缓冲已空, 则返回0, 这就是常说的表示连接关闭. 但第一次对其调用write方法时, 如果发送缓冲没问题, 会返回正确写入(发送). 但发送的报文会导致对端发送RST报文, 因为对端的socket已经调用了close, 完全关闭, 既不发送, 也不接收数据. 所以, 第二次调用write方法(假设在收到RST之后), 会生成SIGPIPE信号, 导致进程退出.
解决办法:
为了避免进程退出, 可以捕获SIGPIPE信号, 或者忽略它, 给它设置SIG_IGN信号处理函数:
signal(SIGPIPE, SIG_IGN);
这样, 第二次调用write方法时, 会返回-1, 同时errno置为SIGPIPE. 程序便能知道对端已经关闭.
PS: Linux下的SIGALRM似乎会每1秒钟往后偏移1毫秒, 但Windows下经过测试完全准时, 不差1毫秒.
忽略SIGPIPE信号的方法
struct sigaction sa;
sa.sa_handler = SIG_IGN;//设定接受到指定信号后的动作为忽略
sa.sa_flags = 0;
if (sigemptyset(&sa.sa_mask) == -1 || //初始化信号集为空
sigaction(SIGPIPE, &sa, 0) == -1) { //屏蔽SIGPIPE信号
perror(“failed to ignore SIGPIPE; sigaction“);
exit(EXIT_FAILURE);
}
pthread线程里如何屏蔽SIGPIPE异常
hi.baidu.com/ailacy/blog/item/a7eb65f8b8b55707d8f9fdd5.html
自定义处理方法:
void signal_handle(ing signo)
{
//do something;
}
int main()
{
signal(SIGPIPE, signal_handle);
......
}
void signal_handle(ing signo) { //do something; } int main() { signal(SIGPIPE, signal_handle); ...... }
寻图片 黑发少女
那个啥,貌似美少女战士里面就有黑发的啊,不过LZ年龄大概比较不适合了厚~不过个人喜欢林夕、李堃的画风,都是长长的黑发飘逸的类型,要是额上有新月的到比较难找..
https://gss0.baidu.com/7LsWdDW5_xN3otqbppnN2DJv/%DC%B0%CF%E3%D2%EC%B2%CA/pic/item/b201dad1b782ffaba0ec9caa.jpg
类似这种行不行? 其他的我再找找..
https://gss0.baidu.com/7LsWdDW5_xN3otqbppnN2DJv/qianxunmoji/pic/item/139e19ac63c3f8284b36d6dd.jpg
https://gss0.baidu.com/7LsWdDW5_xN3otqbppnN2DJv/%B4%F7%C9%CF%D7%F3%B6%FA%B5%C4%D3%C7%C9%CB/pic/item/27b8ba3f104a541871cf6c7e.jpg
李堃的:
https://gss0.baidu.com/7LsWdDW5_xN3otqbppnN2DJv/%D3%EE%D6%C7%B2%A8%C7%EF%D2%B6%D4%AD/pic/item/b305348988eafdbda5c27224.jpg
https://gss0.baidu.com/7LsWdDW5_xN3otqbppnN2DJv/550164423/pic/item/332cc111d28fdc35b9127bd3.jpg
https://gss0.baidu.com/7LsWdDW5_xN3otqbppnN2DJv/lagne/pic/item/6790f845f0f1f80fcffca3b3.jpg
https://gss0.baidu.com/7LsWdDW5_xN3otqbppnN2DJv/%D3%EE%D6%C7%B2%A8%C7%EF%D2%B6%D4%AD/pic/item/edff8e80b8d863f1bd3e1e59.jpg
——这个风格要漂亮得多
https://gss0.baidu.com/7LsWdDW5_xN3otqbppnN2DJv/tianlanxinyu/pic/item/337bb92617e599368b82a16a.jpg
https://gss0.baidu.com/7LsWdDW5_xN3otqbppnN2DJv/%D3%EE%D6%C7%B2%A8%C7%EF%D2%B6%D4%AD/pic/item/534eeef2193901e20b46e03b.jpg
怎么打不开34eeech=rainbow.wty.search1
◆啦啦啦犯坪亲,你好,B军34ee~~要不要我告诉你一个好的啊我找了好些天终于找到个可以全看的站的qT3
不错的一部戏(⊙o⊙)哦34ee~~要不要我告诉你一个好的啊◆
学生会的一己之见图
樱野 栗梦
http://img2.gelbooru.com//images/489/02410b5af4e35857263c29f78f49231690ad2840.jpg
http://img2.gelbooru.com//images/519/ceca812a734037a88d386d37c8040c4f2be0f2d9.png
http://img2.gelbooru.com//samples/359/sample_0d789d83942002d66ff192898b1ed0ed9198b1b4.jpg?659671
http://konachan.com/post/show/61904/sakurano_kurimu-seitokai_no_ichizon
http://konachan.com/post/show/61269/sakurano_kurimu-seitokai_no_ichizon-signed
http://konachan.com/post/show/61525/close-sakurano_kurimu-seitokai_no_ichizon-transpar
http://konachan.com/post/show/59872/blush-brown_hair-green_eyes-sakurano_kurimu-scan-s
http://konachan.com/post/show/61020/cameltoe-cleavage-horii_kumi-panties-sakurano_kuri
http://img2.gelbooru.com//samples/553/sample_a1ff5dcca321e40f8eefdb6e7a9683ea5472fcbd.jpg?683035
http://img2.gelbooru.com//images/494/30c0a7cc5ce251e6530e9b34203d2e6c659bff96.jpg
http://image.baidu.com/i?tn=baiduimage&ct=201326592&cl=2&lm=-1&fr=&pv==0&z=0&word=%D3%A3%D2%B0%C0%F5%C3%CE&s=0
红叶 知弦
http://img2.gelbooru.com//images/489/23e39a3e7fb2946138b3150b59e439e4ee5878b9.jpg
http://moe.imouto.org/post/show/100189/10mo-akaba_chizuru-seifuku-seitokai_no_ichizon
http://img2.gelbooru.com//images/544/4cc95080bc0e781a1b414036483bb3c98aa0ff67.jpg
http://img2.gelbooru.com//images/544/134eee93fd5a1f24723379a156b47638371e1082.jpg
http://img2.gelbooru.com//images/544/879d779816daac43bb02c616f71f41087e0da4c4.jpg
http://img2.gelbooru.com//images/544/a1a44b985c3ebc6180318fb1fd5219a386b89158.jpg
http://img2.gelbooru.com//images/535/f667fe2d099387b5ae0d78084eccb612ed406b31.png
以下点击左侧黄色英文标题《Original image 》得大图!
http://moe.imouto.org/post/show/55607/akaba_chizuru-bleed_through-inugami_kira-seifuku-s
http://moe.imouto.org/post/show/105354/akaba_chizuru-animal_ears-bunny_ears-bunny_girl-mo
http://image.baidu.com/i?ct=201326592&cl=2&lm=-1&tn=baiduimage&ch=baiducb&word=%BA%EC%D2%B6%20%D6%AA%CF%D2&bar=20
椎名 真冬
http://img2.gelbooru.com//images/489/4ee5afbad4f3a69a573756a1e221851cd0049aa5.jpg
http://moe.imouto.org/post/show/55612/bleed_through-inugami_kira-seifuku-seitokai_no_ich
http://moe.imouto.org/post/show/115606/extraction-seitokai_no_ichizon-shiina_mafuyu-vecto
http://moe.imouto.org/post/show/101678/cap-pantsu-seifuku-seitokai_no_ichizon-shiina_mafu
http://img2.gelbooru.com//images/544/53bf13b19154c562f8c02ee8f4ee6eccfc5af8ac.jpg
http://img2.gelbooru.com//images/541/c62f53b99765efafebbad84d45b7068e594a344c.jpg
http://img2.gelbooru.com//images/544/c1ee42af8d865cfda1bf9b5a64ec2bee598522c7.jpg
http://img2.gelbooru.com//images/561/43fecaa409d2ccf0826b50e34c54aabbc3335a0f.jpg
http://img2.gelbooru.com//images/544/fcc267cbdd6cb0952843d1375f058fd9a06b25a8.jpg
http://img2.gelbooru.com//images/544/e017525f0182b37ad521cb46885f7113acf43b94.jpg
http://img2.gelbooru.com//images/518/47e49d2162c4efbf987e295ef334f3722c79a61b.png
http://img2.gelbooru.com//images/535/bd2177185d11209c40ce56e449f5bc868e1e85a2.jpg
http://img2.gelbooru.com//images/535/99900d579b26481ba16ed54aaba5fe0b2c6435d7.jpg
http://image.baidu.com/i?ct=201326592&cl=2&lm=-1&tn=baiduimage&ch=baiducb&word=%D7%B5%C3%FB%20%D5%E6%B6%AC&bar=20
看看行不!
-线
围城中李梅亭关于结婚的预言
这是在前两页提到的
李和陆两人见到方和孙两人亲密之后“
李梅亭这两日窃窃私讲的话,比一年来向学生的谆谆训导
还多。他散布了这消息,还说:“准出了乱子了,否则不会肯订婚的。你们
瞧,订婚之后马上就会结婚。其实何必一番手脚两番做呢?干脆同居得了。
咱们不管,反正多吃他一顿。我看,结婚礼送小孩子衣服,最用得着。哈哈!
不过,这事有关学校风纪,我将来要唤起校长的注意,我管训导,有我的职
责,不能只顾到我和方鸿渐的私交,是不是?我和他们去年一路来,就觉得
路数不对,只有陆子潇是个大冤桶!哈哈。”
-中
什么叫作“类专业”
、“类专业学位”的界定:顾名思义,即类似专业学位,但又不同于科学学位与专业学位。即按国家统一入学考试招生,录取类别为科学学位,按专业学位的教学模式培养,毕业颁发科学学位。这些专业方向将以培养高层次应用型人才为目标,这是我校在借鉴兄弟院校先进经验后,结合学校实际,对我国专业学位制度的探索之举。
-线