aboutsummaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2000-10-23 16:50:21 +0000
committerChristopher Faylor <me@cgf.cx>2000-10-23 16:50:21 +0000
commitf80cdaeecbe2f65d2b6026bd25923cca7c9ab455 (patch)
treee395f99c83ebc28f769e81bf865968bb5834a1ef /winsup
parentc434bd0840345b1783ee9df36d3d99cf10b898e6 (diff)
downloadnewlib-f80cdaeecbe2f65d2b6026bd25923cca7c9ab455.zip
newlib-f80cdaeecbe2f65d2b6026bd25923cca7c9ab455.tar.gz
newlib-f80cdaeecbe2f65d2b6026bd25923cca7c9ab455.tar.bz2
* sigproc.cc (proc_subproc): Correctly handle flags for WNOHANG case.
Diffstat (limited to 'winsup')
-rw-r--r--winsup/cygwin/ChangeLog4
-rw-r--r--winsup/cygwin/sigproc.cc4
2 files changed, 6 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 036af46..ae9c318 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -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.
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc
index 8427961..5066955 100644
--- a/winsup/cygwin/sigproc.cc
+++ b/winsup/cygwin/sigproc.cc
@@ -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;