Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Dec 2006 01:49:58 +0100 (CET)
From:      "Arne H. Juul" <arnej@pvv.ntnu.no>
To:        David Xu <davidxu@freebsd.org>
Cc:        Kostik Belousov <kostikbel@gmail.com>, freebsd-java@freebsd.org, freebsd-arch@freebsd.org
Subject:   Re: close() of active socket does not work on FreeBSD 6
Message-ID:  <Pine.LNX.4.62.0612120142010.30236@decibel.pvv.ntnu.no>
In-Reply-To: <200612120816.07608.davidxu@freebsd.org>
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>

next in thread | previous in thread | raw e-mail | index | archive | help
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.

That's better than having it in the kernel and (IMHO) better than having N
implementation in various applications, especially since the applications
don't necessarily know enough about the internals of the thread library
and kernel interactions to get it right, much less efficient.

That said, copying the linux_close.c workaround in the Java VM seems to
solve my immediate problem, even if I think it's a bit ugly.  But I have
confidence that you can do a better and cleaner solution :-)

   -  Arne H. J.



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