From 372cd2cbe6f3dd94771966d082d2cadc7a08e095 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Tue, 19 Aug 2003 00:31:56 +0000 Subject: * exceptions.cc (sigdelayed): Fix race where signal handler could get the wrong mask. --- winsup/cygwin/ChangeLog | 5 +++++ winsup/cygwin/exceptions.cc | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'winsup/cygwin') diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 3685cda9e..6e7ca4987 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2003-08-18 Pierre Humblet + + * exceptions.cc (sigdelayed): Fix race where signal handler could get + the wrong mask. + 2003-08-18 Christopher Faylor * path.cc (mount): Add null/empty check for input parameters. 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\ -- cgit v1.2.3