diff options
author | Christopher Faylor <me@cgf.cx> | 2011-11-22 01:09:33 +0400 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2011-11-22 01:09:33 +0400 |
commit | cc07096c5c951629a3dad84b5f37d4d3ce3af8cc (patch) | |
tree | ace66173d2331d2ab322efc700408a6f478061c2 /winsup | |
parent | 15660c23ab4e99605b638f791b71d4d68f4ab436 (diff) |
* sigproc.cc (remove_proc): Don't do busy loop when exiting since it doesn't
matter.
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/sigproc.cc | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index e7278c857..2c7934204 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,5 +1,10 @@ 2011-11-21 Christopher Faylor <me.cygwin2011@cgf.cx> + * sigproc.cc (remove_proc): Don't do busy loop when exiting since it + doesn't matter. + +2011-11-21 Christopher Faylor <me.cygwin2011@cgf.cx> + * sigproc.cc (remove_proc): Don't do busy loop when execing since thread could have been terminated prior to setting flag. 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]; |