ソケットssize_t send(int __fd, const void* __buf, size_t __n, int __flags)
で、この__flags
引数を取得しました。すべての接続でMSG_NOSIGNAL
フラグを使用しています。 write
でこのフラグ機能を実現する方法はありますか?このフラグは接続全体で使用しているため、socket
の作成時に設定できます。すべての__flag
関数を実現する方法がある場合は、お気軽にお知らせください。
いいえ。write
を使用してソケットに書き込む場合、send
引数をゼロに設定してflags
を呼び出すのと同じです。
fildesがソケットを参照する場合、write()は send() フラグが設定されていません。
ただし、このフラグを永続的に「設定」する方法があり、SIGPIPE
信号を無視します。
signal(SIGPIPE, SIG_IGN);