From owner-cvs-all Sat Apr 27 1:24:36 2002 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 7C37C37B41D; Sat, 27 Apr 2002 01:24:29 -0700 (PDT) Received: (from tanimura@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g3R8OTB87633; Sat, 27 Apr 2002 01:24:29 -0700 (PDT) (envelope-from tanimura) Message-Id: <200204270824.g3R8OTB87633@freefall.freebsd.org> From: Seigo Tanimura Date: Sat, 27 Apr 2002 01:24:29 -0700 (PDT) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern kern_descrip.c uipc_socket2.c src/sys/net rtsock.c src/sys/netinet accf_data.c accf_http.c tcp_input.c src/sys/netkey keysock.c src/sys/sys filedesc.h socketvar.h X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG tanimura 2002/04/27 01:24:29 PDT Modified files: sys/kern kern_descrip.c uipc_socket2.c sys/net rtsock.c sys/netinet accf_data.c accf_http.c tcp_input.c sys/netkey keysock.c sys/sys filedesc.h socketvar.h Log: Add a global sx sigio_lock to protect the pointer to the sigio object of a socket. This avoids lock order reversal caused by locking a process in pgsigio(). sowakeup() and the callers of it (sowwakeup, soisconnected, etc.) now require sigio_lock to be locked. Provide sowwakeup_locked(), soisconnected_locked(), and so on in case where we have to modify a socket and wake up a process atomically. Revision Changes Path 1.140 +2 -0 src/sys/kern/kern_descrip.c 1.88 +69 -13 src/sys/kern/uipc_socket2.c 1.70 +3 -1 src/sys/net/rtsock.c 1.4 +5 -2 src/sys/netinet/accf_data.c 1.6 +10 -4 src/sys/netinet/accf_http.c 1.154 +5 -1 src/sys/netinet/tcp_input.c 1.11 +3 -1 src/sys/netkey/keysock.c 1.42 +15 -2 src/sys/sys/filedesc.h 1.77 +43 -10 src/sys/sys/socketvar.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message