From 9863b78e7bc842bb1b860be12562e1f45b717aef Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Fri, 12 Mar 2004 03:09:28 +0000 Subject: * cygtls.h (waitq): Declare structure here. (_cygtls::wq): Declare. * cygtls.cc (_cygtls::fixup_after_fork): Clear wq.thread_ev to avoid using an invalid event handle in forked process. * dcrt0.cc (waitq_storage): Delete. (threadstuff): Remove waitq_storage. * perthread.h (per_thread_waitq): Delete. (waitq_storage): Delete declaration. * sigproc.cc (sigproc_init): Remove perthread waitq consideration. * sigproc.h (waitq): Delete declaration. * wait.cc (wait4): Use _my_tls waitq structure rather than per_thread. * cygtls.h (_cygtls::newmask): Delete member. (_cygtls::deltamask): New member. * gendef (_sigdelayed): Replace the call to set_process_mask by a call to set_process_mask_delta. * exceptions.cc (handle_sigsuspend): Do not filter tempmask. Or SIG_NONMASKABLE in deltamask as a flag. (_cygtls::interrupt_setup): Set deltamask only. (set_process_mask_delta): New function. (_cygtls::call_signal_handler): Replace the first call to set_process_mask by a call to set_process_mask_delta. * tlsoffsets.h: Regenerate. --- winsup/cygwin/cygtls.cc | 1 + 1 file changed, 1 insertion(+) (limited to 'winsup/cygwin/cygtls.cc') diff --git a/winsup/cygwin/cygtls.cc b/winsup/cygwin/cygtls.cc index 2c01acb00..36aaa86d6 100644 --- a/winsup/cygwin/cygtls.cc +++ b/winsup/cygwin/cygtls.cc @@ -139,6 +139,7 @@ void _cygtls::fixup_after_fork () { sig = stacklock = 0; + wq.thread_ev = NULL; stackptr = stack + 1; // FIXME? #ifdef DEBUGGING memset (stackptr, 0, sizeof (stack) - sizeof (stack[0])); -- cgit v1.2.3