Date: Wed, 3 Mar 2004 17:40:03 -0500 From: John Baldwin <jhb@FreeBSD.org> To: des@des.no (Dag-Erling =?iso-8859-1?q?Sm=F8rgrav?=) Cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern subr_sleepqueue.c Message-ID: <200403031740.03461.jhb@FreeBSD.org> In-Reply-To: <xzpeks9isbt.fsf@dwp.des.no> References: <200403021502.i22F28vF032585@repoman.freebsd.org> <200403031435.23839.jhb@FreeBSD.org> <xzpeks9isbt.fsf@dwp.des.no>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 03 March 2004 03:33 pm, Dag-Erling Sm=F8rgrav wrote: > John Baldwin <jhb@FreeBSD.org> 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 <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" =3D http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200403031740.03461.jhb>