Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 May 2006 20:09:01 +0200
From:      joerg@britannica.bec.de
To:        freebsd-hackers@freebsd.org
Subject:   Re: which running thread gests the external signal
Message-ID:  <20060502180901.GA16152@britannica.bec.de>
In-Reply-To: <44579DE0.1050207@spintech.ro>
References:  <4456A5B3.2010809@spintech.ro> <Pine.GSO.4.64.0605012044390.25456@sea.ntplx.net> <44579DE0.1050207@spintech.ro>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060502180901.GA16152>