From owner-freebsd-hackers@FreeBSD.ORG Tue May 2 18:09:41 2006 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 692C616A730 for ; Tue, 2 May 2006 18:09:41 +0000 (UTC) (envelope-from joerg@britannica.bec.de) Received: from hydra.bec.de (www.ostsee-abc.de [62.206.222.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7B9B443D81 for ; Tue, 2 May 2006 18:09:22 +0000 (GMT) (envelope-from joerg@britannica.bec.de) Received: from britannica.bec.de (storm.stura.uni-rostock.de [139.30.252.72]) by hydra.bec.de (Postfix) with ESMTP id B45A935707 for ; Tue, 2 May 2006 20:09:20 +0200 (CEST) Received: by britannica.bec.de (Postfix, from userid 1000) id C8E326CC85; Tue, 2 May 2006 20:09:01 +0200 (CEST) Date: Tue, 2 May 2006 20:09:01 +0200 From: joerg@britannica.bec.de To: freebsd-hackers@freebsd.org Message-ID: <20060502180901.GA16152@britannica.bec.de> Mail-Followup-To: freebsd-hackers@freebsd.org References: <4456A5B3.2010809@spintech.ro> <44579DE0.1050207@spintech.ro> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <44579DE0.1050207@spintech.ro> User-Agent: Mutt/1.5.11 Subject: Re: which running thread gests the external signal X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 02 May 2006 18:09:41 -0000 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