From 1d380f593ae54513419a7e7f31817fc23a5e69b9 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Wed, 11 Dec 2002 04:00:04 +0000 Subject: * cygthread.h (cygthread::stack_ptr): New element. (cygthread::detach): Accept a "wait_for_signal" argument. (cygthread::terminate_thread): New function. * cygthread.cc (cygthread::stub): Set stack pointer argument. (cygthread::terminate_thread): New function. Forcibly terminate thread. (cygthread::detach): Optionally wait for signals and kill thread when signal arrives. * exceptions.cc (signal_exit): Set signal_arrived prior to exiting to wake up anything blocking on signals. * fhandler.h (fhandler_base::set_r_no_interrupt): Change to accept bool argument. (fhandler_pipe::ready_for_read): Declare. * pipe.cc (pipeargs): New structure. (read_pipe): New thread stub wrapper for normal pipe read. (fhandler_pipe::read): Modify to call reader in a cygthread, terminating on signal, as appropriate. * select.cc (fhandler_pipe::ready_for_read): Define new function. --- winsup/cygwin/exceptions.cc | 1 + 1 file changed, 1 insertion(+) (limited to 'winsup/cygwin/exceptions.cc') diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index 380697eb0..bbd5518d0 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -1117,6 +1117,7 @@ signal_exit (int rc) TerminateProcess (hExeced, rc); sigproc_printf ("about to call do_exit (%x)", rc); + (void) SetEvent (signal_arrived); do_exit (rc); } -- cgit v1.2.3