cvs commit: src/sys/kern subr_sleepqueue.c
John Baldwin
jhb at FreeBSD.org
Wed Mar 3 14:40:27 PST 2004
On Wednesday 03 March 2004 03:33 pm, Dag-Erling Smørgrav wrote:
> John Baldwin <jhb at 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).
Feel free to commit that for now. Eventually I want to add a pair of pause()
and catch() functions (or some better name) that wait for either a timeout or
a signal or both instead of people passing various pointers to msleep() that
they don't expect to get awekened (forksleep, nowake, etc.)
--
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the cvs-src
mailing list