This is the mail archive of the cygwin-patches mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]