diff options
author | Christopher Faylor <me@cgf.cx> | 2000-11-03 04:27:03 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2000-11-03 04:27:03 +0000 |
commit | bb5d559a73794be49fd63b97086bf7e982504399 (patch) | |
tree | 2ddb43199de5cf752e36a35cf06a51f7803f21dd /winsup/cygwin/sigproc.cc | |
parent | 6857eb1b3b79aa92498e6b9dded43ae4a8265669 (diff) | |
download | cygnal-bb5d559a73794be49fd63b97086bf7e982504399.tar.gz cygnal-bb5d559a73794be49fd63b97086bf7e982504399.tar.bz2 cygnal-bb5d559a73794be49fd63b97086bf7e982504399.zip |
* pinfo.cc (pinfo::init): Reverse order of setting status and pid info in an
execed process to avoid a race.
* sigproc.cc (wait_subproc): Print more info when a WFSO error occurs.
* automode.c: New file.
* syscalls.cc (close_all_files): Streamline slightly.
* cygheap.cc (ccalloc): Clear *entire* allocated array.
Diffstat (limited to 'winsup/cygwin/sigproc.cc')
-rw-r--r-- | winsup/cygwin/sigproc.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index c59b67ed1..e2a310120 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -1250,7 +1250,7 @@ wait_subproc (VOID *) closed a handle in the children[] array. So, we try looping a couple of times to stabilize. FIXME - this is not foolproof. Probably, this thread should be responsible for closing the children. */ - if (++errloop < 10 && GetLastError () == ERROR_INVALID_HANDLE) + if (++errloop < 10) continue; system_printf ("wait failed. nchildren %d, wait %d, %E", @@ -1261,7 +1261,9 @@ wait_subproc (VOID *) rc == WAIT_TIMEOUT) continue; else - system_printf ("event[%d] %p, %E", i, events[0]); + system_printf ("event[%d] %p, pid %d, dwProcessId %u, progname '%s', %E", i, + events[0], pchildren[i]->pid, pchildren[i]->dwProcessId, + pchildren[i]->progname); break; } |