On Jan 29 18:21, Dan Bonachea wrote: > > A minimal test program is copied below and also available here: > > https://upc-bugs.lbl.gov/bugzilla/attachment.cgi?id=589 > > > It's worth noting POSIX 1003.1-2016 sec XRAT.B.2.4.1 (p.3577) > > specifically requires that any given signal should be delivered to > > exactly one thread. Also the spec for abort (p.565) requires the > > signal to be delivered as if by `raise(SIGABRT)` (p.1765) aka. > > `pthread_kill(pthread_self(),SIGABRT)` (p.1657), which implies > > any registered SIGABRT handler should run only on the thread > > which called abort(). > > Poking around further, I find that replacing the signal generation > code in the test program for all cases with : > > pthread_kill(pthread_self(),sigid) > > generates compliant signal delivery behavior! Thanks, I fixed that in Cygwin. It will be part of the 3.0 release. Corinna -- Corinna Vinschen Cygwin Maintainer