Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2004-01-27 01:25:57 +0300
committerChristopher Faylor <me@cgf.cx>2004-01-27 01:25:57 +0300
commitef33379be8be59c475cdb280e2e2f414fe1c2a8e (patch)
treed716598d339fa88162dc9aca2d60192cb7d1dd27 /winsup/cygwin/gendef
parent5e0f482f2cac33d5ce758e4dc0f665a4e195f4e1 (diff)
* 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-xwinsup/cygwin/gendef6
1 files changed, 3 insertions, 3 deletions
diff --git a/winsup/cygwin/gendef b/winsup/cygwin/gendef
index 5addf91e2..d317eeacd 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