kern/97921: close() socket deadlocks blocked threads

Robert Watson rwatson at FreeBSD.org
Wed Jun 7 10:06:40 PDT 2006


Synopsis: close() socket deadlocks blocked threads

Responsible-Changed-From-To: freebsd-bugs->rwatson
Responsible-Changed-By: rwatson
Responsible-Changed-When: Wed Jun 7 14:30:14 UTC 2006
Responsible-Changed-Why: 
Grab ownership of this PR.  This is a somewhat complicated issue
to address, as socket shutdown occurs only once the last user
space reference to the socket is released.  This occurs when the
last outstanding system call after close() takes place.  To
change this, we will need to change the socket state engine some
to issue a cancellation on last close rather than last reference,
which is a notion we sort of (but not entirely) support.  Are
there any standards that specify this or related behavior that
we should be aware of?


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


More information about the freebsd-bugs mailing list