From 936e4018b6fd1ad21ac528cf567fa81a46b054b0 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Fri, 23 Sep 2005 03:35:41 +0000 Subject: * cygheap.cc (cygheap_fixup_in_child): It's not just for exec. * cygtls.h (struct _cygtls::thread_handle): New field. * dcrt0.cc (exit_lock): Remove declaration. * winsup.h (exit_lock): Add declaration. * exceptions.cc (sigpacket::process): Properly return after signal_exit. * pinfo.cc (pinfo::exit): Only exit the process if _my_tls.thread_handle has not been filled out -- which should be an impossible event. * sigproc.cc (sigproc_terminate): Fillout _my_tls.thread_handle to provide something for wait_sig to wait for. Use the siginfo_t version of sig_send and fill out the tls argument with _my_tls. (wait_sig): Wait for the thread specified in pack.tls or (for now) complain bitterly if it doesn't exit. --- 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 efd49ce6f..79cc251a3 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -1162,6 +1162,7 @@ exit_sig: sigproc_printf ("signal %d, about to call do_exit", si.si_signo); signal_exit (si.si_signo); /* May not return */ + return rc; } CRITICAL_SECTION NO_COPY exit_lock; -- cgit v1.2.3