04
--
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
--
>>
<<
--
calendar_bottom
RSS | ATOM | ADMIN

badulog

日々の覚書と雑記
<< [C] 型定義でヘッダをたどるより良い方法 | main | VRRP Virtual Router Redundancy Protoc >>
ENTRY TOP
スポンサーサイト

一定期間更新がないため広告を表示しています

スポンサードリンク | - | - | - | - |
ENTRY BOTTOM ENTRY TOP
[C]SIGPIPE抑止のflag
sendとrecvのflag引数にMSG_NOSIGNALを指定すれば
相手不在の時もSIGPIPE出さないらしい。ただしEPIPEを返すのは返すと。
■ man send
MSG_NOSIGNAL
Requests not to send SIGPIPE on errors on stream oriented sockets when the other end breaks the connection. The EPIPE error is still returned.

■ man recv (こっちは載ってない場合もあり)
MSG_NOSIGNAL
This flag turns off raising of SIGPIPE on stream sockets when the other end disappears.


使いかたはこんな感じ
size = recvfrom (fd,msg,len,MSG_NOSIGNAL,from_p,fromlen_p);
baduizm | C言語 | - | - | - |
ENTRY BOTTOM ENTRY TOP
スポンサーサイト
スポンサードリンク | - | - | - | - |
ENTRY BOTTOM