summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/sigproc.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2002-10-14 03:51:44 +0000
committerChristopher Faylor <me@cgf.cx>2002-10-14 03:51:44 +0000
commit969203ce911a958c9b41ab934334c48bd15df7e0 (patch)
tree498582ade58561d078daad2659014646941ade0c /winsup/cygwin/sigproc.cc
parenta7a5d0ba3742911e0ab9dfeed077631f25bb257f (diff)
downloadcygnal-969203ce911a958c9b41ab934334c48bd15df7e0.tar.gz
cygnal-969203ce911a958c9b41ab934334c48bd15df7e0.tar.bz2
cygnal-969203ce911a958c9b41ab934334c48bd15df7e0.zip
* 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.
Diffstat (limited to 'winsup/cygwin/sigproc.cc')
-rw-r--r--winsup/cygwin/sigproc.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc
index db5626b89..863a22d36 100644
--- a/winsup/cygwin/sigproc.cc
+++ b/winsup/cygwin/sigproc.cc
@@ -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