In message "Re: [ruby-dev:41833] [bug:trunk] GNU/Linux select hang on a socket which TCP state is CLOSED"
on Tue, 6 Jul 2010 22:21:26 +0900, Tanaka Akira akr@fsij.org writes:
If the writefds argument is not a null pointer, it points to an object
of type fd_set that on input specifies the file descriptors to be
checked for being ready to write, and on output indicates which file
descriptors are ready to write.
と、ready to writeという表現なので、EPIPEになっちゃうようなfdはreadyちゃうわい。というのも解釈として全然不自然ではないような。。。
何か見落としているだろうか?
If the writefds argument is not a null pointer, it points to an object
of type fd_set that on input specifies the file descriptors to be
checked for being ready to write, and on output indicates which file
descriptors are ready to write.
と、ready to writeという表現なので、EPIPEになっちゃうようなfdはreadyちゃうわい。というのも解釈として全然不自然ではないような。。。
何か見落としているだろうか?
ready to write の意味は以下のように説明されているので、
EPIPE だろうが would not block なので ready だ、ということで。
A descriptor shall be considered ready for writing when a call to an output
function with O_NONBLOCK clear would not block, whether or not the function
would transfer data successfully.
In message "Re: [ruby-dev:41836] Re: [bug:trunk] GNU/Linux select hang on a socket which TCP state is CLOSED"
on Wed, 7 Jul 2010 00:04:50 +0900, Tanaka Akira akr@fsij.org writes: