diff options
author | Christopher Faylor <me@cgf.cx> | 2003-08-19 04:31:56 +0400 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2003-08-19 04:31:56 +0400 |
commit | 372cd2cbe6f3dd94771966d082d2cadc7a08e095 (patch) | |
tree | d6e1780ab783e128b1c85a74a94ad88d2e358dcd /winsup/cygwin/exceptions.cc | |
parent | 9d7f26eaf41871fafe9b279b134126d00d59c86f (diff) |
* exceptions.cc (sigdelayed): Fix race where signal handler could get the wrong
mask.
Diffstat (limited to 'winsup/cygwin/exceptions.cc')
-rw-r--r-- | winsup/cygwin/exceptions.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/winsup/cygwin/exceptions.cc b/winsup/cygwin/exceptions.cc index e7c304185..b330a29b2 100644 --- a/winsup/cygwin/exceptions.cc +++ b/winsup/cygwin/exceptions.cc @@ -1271,11 +1271,11 @@ _sigdelayed0: \n\ call _reset_signal_arrived@0 \n\ pushl %5 # signal number \n\ pushl %7 # newmask \n\ + \n\ + call _set_process_mask@4 \n\ movl $0,%0 # zero the signal number as a \n\ # flag to the signal handler thread\n\ # that it is ok to set up sigsave\n\ - \n\ - call _set_process_mask@4 \n\ popl %%eax \n\ jmp *%%eax \n\ __no_sig_end: \n\ |