Date: Mon, 14 May 2007 22:21:58 +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 kern_exit.c Message-ID: <200705142221.l4EMLwm1018961@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jhb 2007-05-14 22:21:58 UTC
FreeBSD src repository
Modified files:
sys/kern kern_exit.c
Log:
Move cpu_exit() earlier in exit1() to close a race between
SIGCHLD/kevent(2) notification of process termination and wait(). Now
we no longer drop locks between sending the notification and marking
the process as a zombie. Previously, if another process attempted to do
a wait() with W_NOHANG after receiving a SIGCHLD or kevent and locked
the process while the exiting thread was in cpu_exit(), then wait() would
fail to find the process, which is quite astonishing to the process
calling wait().
MFC after: 3 days
Revision Changes Path
1.298 +10 -16 src/sys/kern/kern_exit.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200705142221.l4EMLwm1018961>
