>>3105 wataru > Hard Hut Linux2.0 Embedded ですか (Hut じゃなくて Hat ですね)。この OS の存在を 初めて知りました。 http://www.linux.or.jp/JM/html/LDP_man-pages/man2/send.2.html の内容が正しければ、Linux の send(2) は ESPIPE を返しません。 ただし開発元がカーネルに手を入れている可能性があるので Hard Hat Linux の send(2) は ESPIPE を返すのかもしれません。 マニュアルに send(2) がどういうときに ESPIPE を返すか書いて ありませんか? # まぁライセンスは GPL でしょうから、最悪ソースを読めばわかる # わけで。 あと、 >>3105 wataru のソースを眺めましたが、間違いらしきものは見付けられませんでした。 ただ、TCP では普通 send(2) は使いません。別に使っても構わない はずですが、埋もれているバグを踏まないという意味では、素直に write(2) を使った方がよいと思います。ただ、それで直るかどうかは わかりません。 あとは、マルチスレッド環境なので errno の値が別のスレッドに上書き されたとか…(多分違うと思いますけど)。 |