From owner-cvs-src-old@FreeBSD.ORG Sun Jun 6 19:24:48 2010 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 88D891065740 for ; Sun, 6 Jun 2010 19:24:48 +0000 (UTC) (envelope-from rrs@FreeBSD.org) Received: from repoman.freebsd.org (unknown [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 76AA48FC16 for ; Sun, 6 Jun 2010 19:24:48 +0000 (UTC) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id o56JOmgT025160 for ; Sun, 6 Jun 2010 19:24:48 GMT (envelope-from rrs@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id o56JOmo9025159 for cvs-src-old@freebsd.org; Sun, 6 Jun 2010 19:24:48 GMT (envelope-from rrs@repoman.freebsd.org) Message-Id: <201006061924.o56JOmo9025159@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to rrs@repoman.freebsd.org using -f From: Randall Stewart Date: Sun, 6 Jun 2010 19:24:32 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/netinet sctp_constants.h sctp_input.c sctp_pcb.c sctputil.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 06 Jun 2010 19:24:48 -0000 rrs 2010-06-06 19:24:32 UTC FreeBSD src repository Modified files: sys/netinet sctp_constants.h sctp_input.c sctp_pcb.c sctputil.c Log: SVN rev 208878 on 2010-06-06 19:24:32Z by rrs Ok, yet another bug in killing off all the hundreds of apitesters.. Basically we end up with attempting to destroy a lock thats contended on. A cookie echo arrives at the same time that the close is happening. The close gets the lock but the cookie echo has already passed the check for the gone flag and is then locked waiting on the create lock.. when we go to destroy it bam. For now we do the timer destroy for all calls to close.. We can probably optimize this later so that we check whats being contended on and if there is contention then do the timer thing. but this is probably safest since the inp has been removed from all lists and references and only the timer can find it.. once the locks are released all other places will instantly see the GONE flag and bail (thats what the change in sctp_input is one place that was lacking the bail code). MFC after: 1 week Revision Changes Path 1.52 +1 -1 src/sys/netinet/sctp_constants.h 1.94 +6 -0 src/sys/netinet/sctp_input.c 1.104 +3 -1 src/sys/netinet/sctp_pcb.c 1.111 +1 -1 src/sys/netinet/sctputil.c