On Thu, Aug 25, 2005 at 02:13:23AM +0200, Samuel Thibault wrote: >Christopher Faylor, le Wed 24 Aug 2005 00:49:55 -0400, a ?crit : >> On Tue, Aug 23, 2005 at 10:51:44PM +0200, Samuel Thibault wrote: >> >The attached program doesn't work as expected: if I run it and try to >> >kill it (-15), nothing seem happens. I if comment out >> >pthread_sigmask(), it does work as expected: the handler is called, and >> >threads are interrupted. What's more: if I move pthread_sigmask() >> >after the pause() call in the foo() function, killing works twice, but >> >no more. >> >> This should be fixed in the latest snapshot. Or at least, it seems to >> now properly emulate linux. > >Hmm, that's better indeed. But the signal handler is executed in the >wrong thread: the attached program outputs: > >thread 0x4601c0 >main 0x460008 >thread 0x4601c0 awaken >thread 0x4601c0 awaken >thread 0x4601c0 awaken >thread 0x4601c0 awaken >thread 0x4601c0 awaken >thread 0x4601c0 awaken >thread 0x4601c0 awaken >foo 15 0x460008 >main awaken > >While the main thread asked the signal to be blocked. (It works as >expected on linux 2.6).
This should be fixed in the next snapshot. cgf -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/