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.

---------
Ernie Coskrey        SteelEye Technology, Inc.

Attachment: gendef.diff
Description: gendef.diff

Reply via email to