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

next in thread | previous in thread | raw e-mail | index | archive | help
After some digging it would appear the patch has not been committed ?

From=20
/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 =3D=3D 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 =3D=3D 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FFF7941F7B184445881228ABAD4494B34E72E5>