OSDN Git Service

* sigproc.cc (remove_proc): Don't do busy loop when exiting since it doesn't
authorcgf <cgf>
Mon, 21 Nov 2011 21:09:31 +0000 (21:09 +0000)
committercgf <cgf>
Mon, 21 Nov 2011 21:09:31 +0000 (21:09 +0000)
matter.

winsup/cygwin/ChangeLog
winsup/cygwin/sigproc.cc

index e7278c8..2c79342 100644 (file)
@@ -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.
 
index a48bd43..8d31139 100644 (file)
@@ -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];