OSDN Git Service

* sigproc.cc (proc_subproc): Correctly handle flags for WNOHANG case.
authorcgf <cgf>
Mon, 23 Oct 2000 16:50:20 +0000 (16:50 +0000)
committercgf <cgf>
Mon, 23 Oct 2000 16:50:20 +0000 (16:50 +0000)
winsup/cygwin/ChangeLog
winsup/cygwin/sigproc.cc

index 036af46..ae9c318 100644 (file)
@@ -1,3 +1,7 @@
+Mon Oct 23 12:44:35 2000  Christopher Faylor <cgf@cygnus.com>
+
+       * sigproc.cc (proc_subproc): Correctly handle flags for WNOHANG case.
+
 Mon Oct 23 10:00:00 2000  Corinna Vinschen <corinna@vinschen.de>
 
        * security.cc: Eliminate C++ comments throughout.
index 8427961..5066955 100644 (file)
@@ -358,7 +358,7 @@ proc_subproc (DWORD what, DWORD val)
              w->next->pid = 0;
              if (clearing)
                w->next->status = -1;           /* flag that a signal was received */
-             else
+             else if (!(w->next->options & WNOHANG))
                w->next->ev = NULL;
              if (!SetEvent (oldw))
                system_printf ("couldn't wake up wait event %p, %E", oldw);
@@ -1004,7 +1004,7 @@ stopped_or_terminated (waitq *parent_w, _pinfo *child)
   BOOL terminated;
 
   if ((terminated = child->process_state == PID_ZOMBIE) ||
-      (w->options & WUNTRACED) && child->stopsig)
+      ((w->options & WUNTRACED) && child->stopsig))
     {
       parent_w->next = w->next;        /* successful wait.  remove from wait queue */
       w->pid = child->pid;