Date: Mon, 8 Sep 2008 19:44:57 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern subr_sleepqueue.c Message-ID: <200809081945.m88Jj6K2031704@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jhb 2008-09-08 19:44:57 UTC FreeBSD src repository Modified files: sys/kern subr_sleepqueue.c Log: SVN rev 182875 on 2008-09-08 19:44:57Z by jhb Close a race in sleepq_broadcast() where the sleepq could be reused after it had been assigned to the last sleeping thread. That thread might have started running on another CPU and have reused that sleep queue. Fix it by just walking the thread queue using TAILQ_FOREACH_SAFE() rather than a while loop. PR: amd64/124200 Discovered by: tegge Tested by: benjsc MFC after: 1 week Revision Changes Path 1.57 +2 -3 src/sys/kern/subr_sleepqueue.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200809081945.m88Jj6K2031704>