This is the mail archive of the cygwin-patches@cygwin.com 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 handling tune up.


At 09:58 PM 8/18/2003 -0400, Christopher Faylor wrote:
>
>I only applied the reversal of the movl with the call above since I'm
>not convinced that moving the set_process_mask into interrupt_setup
>doesn't introduce a race.  It seems like your code could be setting the
>signal mask in interrupt_setup while it is also being restured in
>sigreturn.  That would end up with the signal mask being indeterminate.

Bummer. You are right.
In practice breaking out of the inner loop (decrementing sigtodo)
should have about the same effect as having the sigthread itself set
the mask, i.e. when sigtodo is > 1 , the sigthread will only start one 
handler and won't find the sigsave busy.

Pierre


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