close() socket deadlocks blocked threads

Kurt Miller kurt at intricatesoftware.com
Thu May 25 11:13:57 PDT 2006


On Thursday 25 May 2006 1:09 pm, Daniel Eischen wrote:
> 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.
> 

Ok, thanks. I filed a kern PR instead since I don't have
a -current or -stable box around to confirm.

http://www.freebsd.org/cgi/query-pr.cgi?pr=97921

-Kurt


More information about the freebsd-threads mailing list