Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2011-11-22 01:09:33 +0400
committerChristopher Faylor <me@cgf.cx>2011-11-22 01:09:33 +0400
commitcc07096c5c951629a3dad84b5f37d4d3ce3af8cc (patch)
treeace66173d2331d2ab322efc700408a6f478061c2 /winsup
parent15660c23ab4e99605b638f791b71d4d68f4ab436 (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/ChangeLog5
-rw-r--r--winsup/cygwin/sigproc.cc2
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];