[#41778] [Bug #3515] FreeBSD wrongly raises ECONNRESET on close(2) — Yui NARUSE <redmine@...>

Bug #3515: FreeBSD wrongly raises ECONNRESET on close(2)

12 messages 2010/07/02

[ruby-dev:41834] Re: [bug:trunk] GNU/Linux select hang on a socket which TCP state is CLOSED

From: Yukihiro Matsumoto <matz@...>
Date: 2010-07-06 14:24:13 UTC
List: ruby-dev #41834
まつもと ゆきひろです

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:

|GNU/Linux で、以下のプログラムがハングします。

|まぁ、[ruby-core:31065], [ruby-core:31068] の話なんですが。

事態がよく理解できてないんですが、これはLinuxのselectの挙動
がおかしいということなんでしょうか。それともRubyのselectの取
り扱いに問題があるということなんでしょうか。

また、[ruby-core:31065]で

>I think select should notify writability when write would not block.
>Cleary write doesn't block on disconnected socket.

とおっしゃっているのは、「という挙動を満たさないLinuxの
selectはおかしい」という風にも読めるのですが、それで正しいで
すか。

これがLinuxのselectのバグだとすると、そちらを直してもらうべ
くレポートするべきなんでしょうか。

                                まつもと ゆきひろ /:|)

In This Thread