From f181da27079a1f4838e2b4fc88bfab3a92b0a696 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Sun, 5 Dec 2004 21:29:37 +0000 Subject: * cygthread.cc (cygthread::terminate_thread): Make public. * pinfo.h (pinfo::wait_thread): New element. * pinfo.cc (pinfo::wait): Store "handle" to started thread in pinfo. * sigproc.cc (proc_terminate): Kill any threads waiting for a process pipe. --- winsup/cygwin/sigproc.cc | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'winsup/cygwin/sigproc.cc') diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc index d7c57b1d2..bc1d6fff6 100644 --- a/winsup/cygwin/sigproc.cc +++ b/winsup/cygwin/sigproc.cc @@ -401,6 +401,11 @@ proc_terminate (void) procs[i]->ppid = 1; if (!proc_exists (procs[i])) procs[i]->process_state = PID_EXITED; /* CGF FIXME - still needed? */ + if (procs[i].wait_thread) + { + // CloseHandle (procs[i].rd_proc_pipe); + procs[i].wait_thread->terminate_thread (); + } procs[i].release (); } nprocs = 0; -- cgit v1.2.3