* cygthread.cc (cygthread::stub): Reintroduce clearing of __name but do it

before SetEvent to eliminate a race.
(cygthread::terminate): Accumulate list of threads to check for termination and
call WaitForMultipleObjects on list rather than waiting for each thread
individually.
* sigproc.cc (subproc_init): Zap hwait_subproc thread handle since it is no
longer used.
* spawn.cc (spawn_guts): Fix so that cygthread::terminate is *really* called
only for exec.
This commit is contained in:
Christopher Faylor
2002-10-14 03:51:44 +00:00
parent a7a5d0ba37
commit 969203ce91
4 changed files with 31 additions and 8 deletions

View File

@@ -805,8 +805,9 @@ subproc_init (void)
*/
events[0] = CreateEvent (&sec_none_nih, FALSE, FALSE, NULL);
hwait_subproc = new cygthread (wait_subproc, NULL, "proc");
hwait_subproc->zap_h ();
ProtectHandle (events[0]);
sigproc_printf ("started wait_subproc thread %p", (HANDLE) *hwait_subproc);
sigproc_printf ("started wait_subproc thread");
}
/* Initialize some of the memory block passed to child processes