In article <20050708.211519.179953950.gotoyuzo / sawara.does.notwork.org>,
  GOTOU Yuuzou <gotoyuzo / notwork.org> writes:

> 再現させてみようと思って、[ruby-dev:26477]のスクリプトに
>
>  % ruby -rsocket -e 'TCPSocket.open("localhost", 10080) {|s| sleep }'
>
> このようなクライアントで接続してktraceの出力を眺めてみると
> select(2)を繰り返すものの、read(2)している気配がありません。

あー、そっか。そういえば multi thread ならそうなります。
EAGAIN になるのは single thread のときだけですね。

> 明示的にIO.selectを呼んだほういいのでしょうか。

WEBrick で IO#read するときに常に最低 2つのスレッドが動いているとすれ
ば、いらないですね。
-- 
[田中 哲][たなか あきら][Tanaka Akira]