close() socket deadlocks blocked threads

Daniel Eischen deischen at freebsd.org
Thu May 25 17:09:22 UTC 2006


On Thu, 25 May 2006, Kurt Miller wrote:

> Here's the other deadlock I mentioned. When a thread
> is blocked waiting for data on a socket and another
> thread closes the socket, the blocked thread remains
> blocked indefinitely. Both kse and thr have this
> issue. c_r returns with -1 errno==EBADF. Solaris
> returns with -1 errno==0.

You should send this to -current, or -stable if it works
correctly on -current.  There isn't anything we can do
in the threads libraries about this.  I'm not sure what
the correct behavior should be.

-- 
DE


More information about the freebsd-threads mailing list