[#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:41829] Re: [Bug #3515] FreeBSD wrongly raises ECONNRESET on close(2)

From: "NARUSE, Yui" <naruse@...>
Date: 2010-07-06 08:58:03 UTC
List: ruby-dev #41829
成瀬です。

2010年7月6日15:44 Tanaka Akira <akr@fsij.org>:
> 2010年7月2日12:20 Yui NARUSE <redmine@ruby-lang.org>:
>
>> この例外は socket の close(2) を呼んだ際に errno に ECONNRESET がセットされたときに発生します。
>> しかし、この挙動は POSIX 仕様外であり、FreeBSD 独自のものです。
>
> ちょっとした好奇心なんですが、close(fd) が ECONNRESET になった後、
> その fd は close されているんでしょうか、それともされていないんでしょうか。

http://svn.freebsd.org/viewvc/base/head/lib/libstand/close.c?revision=165906&view=markup
を見ると、呼んだ結果にかかわらず f->f_flags = 0; していますね。

-- 
NARUSE, Yui
naruse@airemix.jp

In This Thread