Skip site navigation (1)Skip section navigation (2)
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>