From: matz@... (Yukihiro Matsumoto) Date: 2002-07-31T16:51:26+09:00 Subject: [ruby-dev:17856] Re: non-blocking IO まつもと ゆきひろです In message "[ruby-dev:17855] non-blocking IO" on 02/07/31, nobu.nakada@nifty.ne.jp writes: |File::NONBLOCKを指定したIOでEWOULDBLOCKが発生すると、途中まで読 |まれたデータがあっても失われてしまいます。 以前から気にしてはいたのです。 |添付のパッチのようにリトライする以外にも、Errno::EWOULDBLOCKに |読めたデータを持たせるという方法も考えられますが。 パッチを読み切れなかったのですが、この件についての私の意見は * 例外にデータを持たせるのは良くない * readはEWOULDBLOCKが返った時点でバッファにあるものを一度 返してしまうのはどうだろうか。 * writeはリトライで構わないだろう。 というものです。readの挙動はもうちょっと考えた方が良いかもし れません。