Date: Fri, 10 Oct 2008 08:36:00 +0200 From: "David Peall" <david@esn.org.za> To: <freebsd-stable@freebsd.org> Subject: RE: Problem with dump stalling Message-ID: <FFF7941F7B184445881228ABAD4494B34E72E5@intsika.ct.esn.org.za> In-Reply-To: <20081010042637.GA22356@icarus.home.lan> References: <20081009153613.GB1262@in-addr.com><FFF7941F7B184445881228ABAD4494B35A6996@intsika.ct.esn.org.za> <20081010042637.GA22356@icarus.home.lan>
index | next in thread | previous in thread | raw e-mail
After some digging it would appear the patch has not been committed ?
From
/src/sys/kern/subr_sleepqueue.c
/*
* Lock sleepq chain before unlocking proc
* without this, we could lose a race.
*/
mtx_lock_spin(&sc->sc_lock);
PROC_UNLOCK(p);
thread_lock(td);
if (ret == 0) {
Should read
/*
+ * Lock the per-process spinlock prior to dropping the PROC_LOCK
+ * to avoid a signal delivery race. PROC_LOCK, PROC_SLOCK, and
+ * thread_lock() are currently held in tdsignal().
*/
+ PROC_SLOCK(p);
mtx_lock_spin(&sc->sc_lock);
PROC_UNLOCK(p);
thread_lock(td);
+ PROC_SUNLOCK(p);
if (ret == 0) {
Also :
__FBSDID("$FreeBSD: src/sys/kern/subr_sleepqueue.c,v 1.39.4.1 2008/01/29
16:37:04 jhb Exp $");
Regards
--
David Peall :: IT Manager
e-Schools' Network :: http://www.esn.org.za/
Phone +27 (021) 674-9140
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FFF7941F7B184445881228ABAD4494B34E72E5>
