This is the mail archive of the
cygwin-patches
mailing list for the Cygwin project.
Re: Signal handler not executed
On Aug 9, 2007, at 10:19 AM, Christopher Faylor wrote:
On Thu, Aug 09, 2007 at 01:09:48PM -0400, Ernie Coskrey wrote:
There's a very small window of vulnerability in _sigbe, which can
lead
to signal handlers not being executed. In _sigbe, the _cygtls
lock is
released before incyg is decremented. If setup_handler acquires the
lock just after _sigbe releases it, but before incyg is decremented,
setup_handler will mistakenly believe that the thread is in Cygwin
code,
and will set up the interrupt using the tls stack.
_sigbe should decrement incyg before releasing the lock.
I'll apply this but are you saying that this actually fixes your
problem
or that you think it fixes your problem?
Chris,
I noticed in the cvs log that at one point you changed from what the
patch applied to releasing incyg later. (version 1.22 to 1.23 of
gendef). Do you remember why you did this change? and could this
patch break what you tried fixing earlier?
I'm just curious.
Thanks,
Peter