私のC++アプリケーションは、へEPIPEの呼び出しが失敗した後、errnoの結果を受け取ったようwrite()です。渡されるファイル記述子はwrite()、NFSマウントされたディスク上のファイル用です。
のマニュアルページは次のようにwrite()説明EPIPEしています。
fd is connected to a pipe or socket whose reading end is closed. When this
happens the writing process will also receive a SIGPIPE signal. (Thus, the write
return value is seen only if the program catches, blocks or ignores this signal.)
だから私はどうやって得るかについて混乱していますEPIPE。これはマルチスレッドの問題であり、errnoが別のスレッドに誤って提供されている可能性がありますか?errnoはスレッドセーフだと思ったので、そうは思われませんが、EPIPEを取得しても意味がないようです。これはCentosv4にあります。