* exceptions.cc (sigdelayed): Move declaration to sigproc.h.
* sigproc.h (sigdelayed): Make symbol globally available. * gendef (sigdelayed): Specifically zero incyg and stacklock. * signal.cc (sigwaitinfo): Lock _my_tls and try harder to clean up signal information.
This commit is contained in:
@@ -196,8 +196,9 @@ _sigdelayed:
|
||||
xorl %ebp,%ebp
|
||||
xchgl %ebp,-4(%eax) # get return address from signal stack
|
||||
xchgl %ebp,28(%esp) # store real return address
|
||||
leave: decl $tls::incyg(%ebx)
|
||||
decl $tls::stacklock(%ebx) # unlock
|
||||
leave: xorl %eax,%eax
|
||||
movl %eax,$tls::incyg(%ebx)
|
||||
movl %eax,$tls::stacklock(%ebx) # unlock
|
||||
|
||||
popl %eax
|
||||
popl %ebx
|
||||
|
Reference in New Issue
Block a user