which running thread gests the external signal

joerg at britannica.bec.de joerg at britannica.bec.de
Tue May 2 18:09:41 UTC 2006


On Tue, May 02, 2006 at 08:58:56PM +0300, Alin-Adrian Anton wrote:
> However, this is not fully clean: all the other threads should *ignore* 
> the signals, not *block* them.

Threads don't have signal queues. POSIX specifies that a process has a
*global* list of pending signals and a *thread-local* list of currently
blocked signals. A correct implementation could iterate over the list of
all threads of a process, whenever either a new signal arrives or a
thread mask is changed. This is not the behaviour Linux implemented for
ages.

Joerg


More information about the freebsd-hackers mailing list