summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/sigproc.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2004-03-12 03:09:28 +0000
committerChristopher Faylor <me@cgf.cx>2004-03-12 03:09:28 +0000
commit9863b78e7bc842bb1b860be12562e1f45b717aef (patch)
tree2fb5bb2f959861e0bc847526ed21c80936fefaae /winsup/cygwin/sigproc.cc
parent7ea8e226ee52772fed5215f5231b379db5498bd2 (diff)
downloadcygnal-9863b78e7bc842bb1b860be12562e1f45b717aef.tar.gz
cygnal-9863b78e7bc842bb1b860be12562e1f45b717aef.tar.bz2
cygnal-9863b78e7bc842bb1b860be12562e1f45b717aef.zip
* 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.
Diffstat (limited to 'winsup/cygwin/sigproc.cc')
-rw-r--r--winsup/cygwin/sigproc.cc13
1 files changed, 0 insertions, 13 deletions
diff --git a/winsup/cygwin/sigproc.cc b/winsup/cygwin/sigproc.cc
index 8f6b8c1ff..9c3b200b6 100644
--- a/winsup/cygwin/sigproc.cc
+++ b/winsup/cygwin/sigproc.cc
@@ -109,7 +109,6 @@ Static char czombies[(NZOMBIES + 1) * sizeof (pinfo)]; // All my deceased child
#define zombies ((pinfo *) czombies)
Static waitq waitq_head = {0, 0, 0, 0, 0, 0, 0};// Start of queue for wait'ing threads
-Static waitq waitq_main; // Storage for main thread
muto NO_COPY *sync_proc_subproc = NULL; // Control access to subproc stuff
@@ -604,18 +603,6 @@ sigproc_init ()
hwait_sig = new cygthread (wait_sig, cygself, "sig");
hwait_sig->zap_h ();
- /* Initialize waitq structure for main thread. A waitq structure is
- * allocated for each thread that executes a wait to allow multiple threads
- * to perform waits. Pre-allocate a waitq structure for the main thread.
- */
- waitq *w;
- if ((w = (waitq *)waitq_storage.get ()) == NULL)
- {
- w = &waitq_main;
- waitq_storage.set (w);
- }
- memset (w, 0, sizeof *w); // Just to be safe
-
global_sigs[SIGSTOP].sa_flags = SA_RESTART | SA_NODEFER;
sigproc_printf ("process/signal handling enabled(%x)", myself->process_state);
return;