From cc07096c5c951629a3dad84b5f37d4d3ce3af8cc Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Mon, 21 Nov 2011 21:09:33 +0000 Subject: [PATCH] * sigproc.cc (remove_proc): Don't do busy loop when exiting since it doesn't matter. --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/sigproc.cc | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index e7278c857..2c7934204 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2011-11-21 Christopher Faylor + + * sigproc.cc (remove_proc): Don't do busy loop when exiting since it + doesn't matter. + 2011-11-21 Christopher Faylor * sigproc.cc (remove_proc): Don't do busy loop when execing since diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index a48bd43fd..8d3113986 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -1106,7 +1106,7 @@ remove_proc (int ci) moving it or it may become confused. The chances are very high that the proc_waiter thread has already done this by the time we get here. */ - if (!have_execed) + if (!have_execed && !exit_state) while (!procs[nprocs].waiter_ready) yield (); procs[ci] = procs[nprocs];