Date: Tue, 19 Nov 2013 09:00:01 GMT From: "Daniel M. Eischen" <eischen@vigrid.com> To: freebsd-threads@FreeBSD.org Subject: Re: threads/184073: wrong signal delivery to multithreaded processes in Perl Message-ID: <201311190900.rAJ901OB052457@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR threads/184073; it has been noted by GNATS. From: "Daniel M. Eischen" <eischen@vigrid.com> To: bug-followup@FreeBSD.org, Thomas.Eckardt@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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311190900.rAJ901OB052457>