This is the mail archive of the cygwin 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: Bug: Incorrect signal behavior in multi-threaded processes


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

Attachment: signature.asc
Description: PGP signature


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