On Fri, Jul 29, 2011 at 09:06:45AM -0400, Christopher Faylor wrote: >On Fri, Jul 29, 2011 at 12:52:47PM +0000, Heiko Elger wrote: >>Hello, >> >>Corinna Vinschen writes: >>> >>> The slowdown of the code was the result of a patch which was supposed >>> to fix a potential race condition. Jojelino's patch looks nice, but >>> it might reintroduce a new race. Handle with care. >>Oops - what king of race condition do you mean. >> >>OK - that's a new information for me. >>So the current slow implementation is a workaround for another race condition. > >The signal startup has been very carefully crafted. Starting wait_sig >asynchronously could create inability to send signals. > >I can't check this right now. I should be back near my Windows system on the >weekend.
I've checked in a change which uses QueueUserAPC to create threads like the signal thread. As everyone has noted this seems to have a salutory effect on the OP's test case. I don't entirely understand why the code which already existed in Cygwin to deal with the "slow performance on win7/64" didn't fix the problem but using QueueUserAPC seems to solve the problem so I guess won't lose too much sleep over this. Thanks jojelino for the idea. Much appreciated. cgf -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple