From owner-freebsd-bugs@FreeBSD.ORG Wed Jun 7 17:06:36 2006 Return-Path: X-Original-To: freebsd-bugs@hub.freebsd.org Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E746B16AA7B; Wed, 7 Jun 2006 14:34:53 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id BF08343D55; Wed, 7 Jun 2006 14:34:53 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from freefall.freebsd.org (rwatson@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k57EYrl8036674; Wed, 7 Jun 2006 14:34:53 GMT (envelope-from rwatson@freefall.freebsd.org) Received: (from rwatson@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k57EYrxn036670; Wed, 7 Jun 2006 14:34:53 GMT (envelope-from rwatson) Date: Wed, 7 Jun 2006 14:34:53 GMT From: Robert Watson Message-Id: <200606071434.k57EYrxn036670@freefall.freebsd.org> To: rwatson@FreeBSD.org, freebsd-bugs@FreeBSD.org, rwatson@FreeBSD.org Cc: Subject: Re: kern/97921: close() socket deadlocks blocked threads X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jun 2006 17:06:40 -0000 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