sigwait() ignores non-thread-specific pending signals

Christopher Faylor cgf-use-the-mailinglist-please@cygwin.com
Fri Dec 7 17:38:00 GMT 2012


On Fri, Dec 07, 2012 at 10:46:29AM +0100, Andreas Steenpa? wrote:
>Le 07/12/2012 02:27, Christopher Faylor a ?crit :
>> I don't see any difference between Cygwin and Linux when I run the
>> test program.
>>
>> cgf
>
>I re-compiled and ran the test program under Cygwin 1.7.17 as well as on
>several Linux machines (Debian/Fedora/Gentoo/Ubuntu, kernel versions
>2.6.29/2.6.32/3.0.6/3.2.0/3.2.12/3.4.9/3.6.6, different kinds of CPUs
>etc.) and I definitely see a difference.
>
>The difference is that after typing in the commands
>kill -SIGUSR2 [pid]
>kill -SIGUSR1 [pid]
>kill -SIGUSR2 [pid]
>kill -SIGUSR1 [pid]
>(in this order!) in another console, the program blocks under Cygwin
>while it exits normally under Linux. The last output under Cygwin is
>'thread 2 waiting for SIGUSR2' while under Linux, one more line 'thread
>2 received SIGUSR2' is printed out before the program exits.

Sorry, I missed the extra kills in your example.

This should be fixed in CVS and in the upcoming snapshot.

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



More information about the Cygwin mailing list