Signal handler not executed

Ernie Coskrey Ernie.Coskrey@steeleye.com
Thu Aug 9 17:12:00 GMT 2007


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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gendef.diff
Type: application/octet-stream
Size: 390 bytes
Desc: gendef.diff
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20070809/83ab874c/attachment.obj>


More information about the Cygwin-patches mailing list