diff options
author | Christopher Faylor <me@cgf.cx> | 2004-03-12 02:07:39 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2004-03-12 02:07:39 +0000 |
commit | 7ea8e226ee52772fed5215f5231b379db5498bd2 (patch) | |
tree | e20f116cb946ae70a6e39729d2fd3f27c1c660b5 /winsup/cygwin/cygtls.cc | |
parent | 2c4ef10a55620db807d6138acaac028f61d0e383 (diff) | |
download | newlib-7ea8e226ee52772fed5215f5231b379db5498bd2.zip newlib-7ea8e226ee52772fed5215f5231b379db5498bd2.tar.gz newlib-7ea8e226ee52772fed5215f5231b379db5498bd2.tar.bz2 |
* cygtls.cc (_cygtls::fixup_after_fork): Remove unneeded setting of oldmask.
* exceptions.cc: Remove some __I386__ conditionals.
(handle_exceptions): Move ppid test to outside of a loop for efficiency.
(setup_handler): Make debugging output more wordy.
(_cygtls::call_signal_handler): To avoid a race, use lock/unlock to synchronize
with signal thread and ensure that signal_arrived event has actually been set.
* gendef (_sigfe): Use ebx for all sigstack manipulations to ensure that the
register is saved. Move setting of incyg to within stack lock to avoid
setup_handler confusion.
(_sigbe): Use ebx for all sigstack manipulations to ensure that the register is
saved.
(_cygtls::pop): Ditto.
(_cygtls::lock): Ditto.
(stabilize_sig_stack): Ditto.
(setjmp): Ditto.
(longjmp): Ditto.
Diffstat (limited to 'winsup/cygwin/cygtls.cc')
-rw-r--r-- | winsup/cygwin/cygtls.cc | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/winsup/cygwin/cygtls.cc b/winsup/cygwin/cygtls.cc index 89e21d4..2c01acb 100644 --- a/winsup/cygwin/cygtls.cc +++ b/winsup/cygwin/cygtls.cc @@ -138,12 +138,7 @@ _cygtls::init_thread (void *x, DWORD (*func) (void *, void *)) void _cygtls::fixup_after_fork () { - if (sig) - { - set_signal_mask (oldmask); - sig = 0; - } - stacklock = 0; + sig = stacklock = 0; stackptr = stack + 1; // FIXME? #ifdef DEBUGGING memset (stackptr, 0, sizeof (stack) - sizeof (stack[0])); |