diff options
-rw-r--r-- | winsup/cygwin/ChangeLog | 6 | ||||
-rw-r--r-- | winsup/cygwin/sigproc.cc | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 1d22e5c..e27ad37 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,8 +1,12 @@ +Sat Nov 4 14:24:10 2000 Christopher Faylor <cgf@cygnus.com> + + * sigproc.cc (wait_subproc): Still more debugging cleanup. + Sat Nov 4 00:51:38 2000 Christopher Faylor <cgf@cygnus.com> * pinfo.cc (EnumProcessesNT): Avoid 0 pids. (EnumProcesses9x): Ditto. - * sigproc.cc (remove_childe): Eliminate. + * sigproc.cc (remove_child): Eliminate. (proc_subproc): Move remove_child stuff here. (wait_subproc): Synchronize with proc_subproc when error occurs. Add more debugging info. diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index 659a2c8..27a07d5 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -1246,14 +1246,14 @@ wait_subproc (VOID *) system_printf ("wait failed. nchildren %d, wait %d, %E", nchildren, proc_loop_wait); - for (int i = 0; i < nchildren + 1; i++) + for (int i = 0; i <= nchildren; i++) if ((rc = WaitForSingleObject (events[i], 0)) == WAIT_OBJECT_0 || rc == WAIT_TIMEOUT) continue; else { - system_printf ("nchildren %d, event[%d] %p, pchildren[%d] %p, %E", - nchildren, i, events[0], i, (_pinfo *) pchildren[i]); + system_printf ("nchildren %d, event[%d] %p, pchildren[%d] %p, events[0] %p, %E", + nchildren, i, events[i], i, (_pinfo *) pchildren[i], events[0]); system_printf ("pid %d, dwProcessId %u, progname '%s'", pchildren[i]->pid, pchildren[i]->dwProcessId, pchildren[i]->progname); |