Date: Tue, 12 Dec 2006 08:18:32 -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.0612120814460.6529@sea.ntplx.net> In-Reply-To: <Pine.GSO.4.64.0612111956110.2938@sea.ntplx.net> 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> <Pine.GSO.4.64.0612111956110.2938@sea.ntplx.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 11 Dec 2006, Daniel Eischen wrote: > 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. It's also couldn't be entirely solved by fixing it in the threads library. You could still have a non-threaded application that waits on a read operation, but receives a signal and closes the socket in the signal handler. -- DE
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.64.0612120814460.6529>