diff options
author | Christopher Faylor <me@cgf.cx> | 2004-01-26 22:25:57 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2004-01-26 22:25:57 +0000 |
commit | ef33379be8be59c475cdb280e2e2f414fe1c2a8e (patch) | |
tree | d716598d339fa88162dc9aca2d60192cb7d1dd27 /winsup/cygwin/gendef | |
parent | 5e0f482f2cac33d5ce758e4dc0f665a4e195f4e1 (diff) | |
download | newlib-ef33379be8be59c475cdb280e2e2f414fe1c2a8e.zip newlib-ef33379be8be59c475cdb280e2e2f414fe1c2a8e.tar.gz newlib-ef33379be8be59c475cdb280e2e2f414fe1c2a8e.tar.bz2 |
* exceptions.cc (sig_handle_tty_stop): Avoid races by waiting for both
signal_arrived and for sigCONT.
(sigpacket::process): Enforce sending of both signal_arrived and sigCONT, where
appropriate.
* gendef (sigreturn): Save tls pointer in ebx so that it can jump into
sigdelayed and use the same register.
Diffstat (limited to 'winsup/cygwin/gendef')
-rwxr-xr-x | winsup/cygwin/gendef | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/winsup/cygwin/gendef b/winsup/cygwin/gendef index 5addf91..d317eea 100755 --- a/winsup/cygwin/gendef +++ b/winsup/cygwin/gendef @@ -127,15 +127,15 @@ _sigreturn: addl \$4,%esp # Remove argument call _set_process_mask\@4 - movl %fs:4,%eax + movl %fs:4,%ebx - cmpl \$0,$tls::sig(%eax) # Did a signal come in? + cmpl \$0,$tls::sig(%ebx) # Did a signal come in? jnz 3f # Yes, if non-zero 1: popl %edx # saved errno testl %edx,%edx # Is it < 0 jl 2f # yup. ignore it - movl $tls::errno_addr(%eax),%eax + movl $tls::errno_addr(%ebx),%eax movl %edx,(%eax) 2: popl %eax popl %ebx |