Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Dec 2006 20:05:58 -0500 (EST)
From:      Daniel Eischen <deischen@freebsd.org>
To:        "Arne H. Juul" <arnej@pvv.ntnu.no>
Cc:        Kostik Belousov <kostikbel@gmail.com>, freebsd-arch@freebsd.org, David Xu <davidxu@freebsd.org>, freebsd-java@freebsd.org
Subject:   Re: close() of active socket does not work on FreeBSD 6
Message-ID:  <Pine.GSO.4.64.0612111956110.2938@sea.ntplx.net>
In-Reply-To: <Pine.LNX.4.62.0612120142010.30236@decibel.pvv.ntnu.no>
References:  <Pine.LNX.4.62.0612111535280.32258@decibel.pvv.ntnu.no> <20061211171115.GD311@deviant.kiev.zoral.com.ua> <Pine.LNX.4.62.0612112259050.12159@decibel.pvv.ntnu.no> <200612120816.07608.davidxu@freebsd.org> <Pine.LNX.4.62.0612120142010.30236@decibel.pvv.ntnu.no>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 12 Dec 2006, Arne H. Juul wrote:

> On Tue, 12 Dec 2006, David Xu wrote:
>> On Tuesday 12 December 2006 06:34, Arne H. Juul wrote:
>> <snip>
>>> This is exactly the sort of issue that should be solved by the
>>> thread library / kernel threads implementation and not in every
>>> threaded application that needs it, in my view.
>>> 
>> It should not be done in new thread library, do you want a bloat
>> and error-prone thread library ? Instead if this semantic is really
>> necessary, it should be done in kernel.
>
> Well, it depends on the alternatives.
> If a clean kernel implementation is possible - yes please, of course.
> If only a complex, error-prone kernel implementation is possible,
> I would prefer to have the complexity in the thread library.

Hacking libthr or libpthread to do this for you is not
an option.  They would then look like libc_r since all
fd's accesses would need to be wrapped.  If this needs
to be done, it must be in the kernel.

Common sense leads me to think that a close() should release
threads in IO operations (reads/writes/selects/polls) and
return EBADF or something appropriate.  At least when behavior
is not dictated by POSIX or other historical/defactor behavior.

-- 
DE



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.64.0612111956110.2938>