From owner-cvs-src@FreeBSD.ORG Wed Mar 3 14:40:26 2004 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CD83516A4D6 for ; Wed, 3 Mar 2004 14:40:26 -0800 (PST) Received: from mail5.speakeasy.net (mail5.speakeasy.net [216.254.0.205]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9D0AD43D39 for ; Wed, 3 Mar 2004 14:40:26 -0800 (PST) (envelope-from jhb@FreeBSD.org) Received: (qmail 26453 invoked from network); 3 Mar 2004 22:40:26 -0000 Received: from dsl027-160-063.atl1.dsl.speakeasy.net (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) encrypted SMTP for ; 3 Mar 2004 22:40:26 -0000 Received: from 10.50.40.205 (gw1.twc.weather.com [216.133.140.1]) by server.baldwin.cx (8.12.10/8.12.10) with ESMTP id i23MeH2A089688; Wed, 3 Mar 2004 17:40:22 -0500 (EST) (envelope-from jhb@FreeBSD.org) From: John Baldwin To: des@des.no (Dag-Erling =?iso-8859-1?q?Sm=F8rgrav?=) Date: Wed, 3 Mar 2004 17:40:03 -0500 User-Agent: KMail/1.6 References: <200403021502.i22F28vF032585@repoman.freebsd.org> <200403031435.23839.jhb@FreeBSD.org> In-Reply-To: MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Message-Id: <200403031740.03461.jhb@FreeBSD.org> X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on server.baldwin.cx cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern subr_sleepqueue.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Mar 2004 22:40:27 -0000 On Wednesday 03 March 2004 03:33 pm, Dag-Erling Sm=F8rgrav wrote: > John Baldwin writes: > > Now realize that p_sigacts is a refcount'd struct shared between rfork'd > > processes (i.e. Linux threads). The sleep's don't actually get woken up > > via a wakeup, they get woken up via a signal, so the wait channel is > > really a dummy. Try changing those three msleep's to sleep on &ps and > > &p->p_sigacts and see if that fixes the panic. > > well, I still have subr_sleepqueue.c 1.1, but with the changes you > suggest I no longer see the "Mismatches locks" message. Patch > attached (has style issues though). =46eel free to commit that for now. Eventually I want to add a pair of pau= se()=20 and catch() functions (or some better name) that wait for either a timeout = or=20 a signal or both instead of people passing various pointers to msleep() tha= t=20 they don't expect to get awekened (forksleep, nowake, etc.) =2D-=20 John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" =3D http://www.FreeBSD.org