threads/184073: wrong signal delivery to multithreaded processes in Perl

Daniel M. Eischen eischen at vigrid.com
Tue Nov 19 09:00:01 UTC 2013


The following reply was made to PR threads/184073; it has been noted by GNATS.

From: "Daniel M. Eischen" <eischen at vigrid.com>
To: bug-followup at FreeBSD.org, Thomas.Eckardt at thockar.com
Cc:  
Subject: Re: threads/184073: wrong signal delivery to multithreaded processes
 in Perl
Date: Tue, 19 Nov 2013 03:40:34 -0500

 There is no guarantee in POSIX that the main thread receives a
 signal sent to the process if multiple threads (including the
 main thread) have the signal unblocked.  The only way to
 guarantee signal delivery to a specific thread is to send it
 directly to the desired thread, have all threads other than the
 desired thread mask the signal, or be blocked in sigwait{info}()
 from the desired thread at the time of signal delivery.  You
 are relying on behavior that is not specified by the standard.


More information about the freebsd-threads mailing list