From owner-svn-src-head@FreeBSD.ORG Wed Jun 30 16:13:22 2010 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 88139106566C; Wed, 30 Jun 2010 16:13:22 +0000 (UTC) (envelope-from mj@feral.com) Received: from ns1.feral.com (ns1.feral.com [192.67.166.1]) by mx1.freebsd.org (Postfix) with ESMTP id 624578FC15; Wed, 30 Jun 2010 16:13:22 +0000 (UTC) Received: from [172.16.1.27] (laptop.in1.lcl [172.16.1.27]) by ns1.feral.com (8.14.3/8.14.3) with ESMTP id o5UGDHuK031200 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 30 Jun 2010 09:13:18 -0700 (PDT) (envelope-from mj@feral.com) Message-ID: <4C2B6D1A.2060302@feral.com> Date: Wed, 30 Jun 2010 09:13:14 -0700 From: Matthew Jacob Organization: Feral Software User-Agent: Thunderbird 2.0.0.24 (Windows/20100228) MIME-Version: 1.0 To: John Baldwin References: <201006292044.o5TKiJd7031766@svn.freebsd.org> <201006300934.47629.jhb@freebsd.org> <4C2B4DC6.1050404@feral.com> <201006301205.14133.jhb@freebsd.org> In-Reply-To: <201006301205.14133.jhb@freebsd.org> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.3 (ns1.feral.com [192.67.166.1]); Wed, 30 Jun 2010 09:13:18 -0700 (PDT) Cc: svn-src-head@freebsd.org, Ed Schouten Subject: Re: svn commit: r209595 - head/sys/kern X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: mjacob@freebsd.org List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Jun 2010 16:13:22 -0000 John Baldwin wrote: > On Wednesday 30 June 2010 9:59:34 am Matthew Jacob wrote: > >> Excuse my ignorance, but aren't signals supposed to be to processes, not >> specific threads? >> > > Not for synchronous events. For example, when you get a segfault due to a > NULL pointer the SIGSEGV is sent to the thread that actually segfaulted, not > any random thread in the process. Similarly for floating-point exceptions, > etc. POSIX also mandates this for SIGPIPE as you can see from this > description of 'EPIPE' from write(2) and fflush(3): > > [EPIPE] > An attempt is made to write to a pipe or FIFO that is not open for > reading by any process, or that only has one end open. A SIGPIPE signal > shall also be sent to the thread. > > (Note thread, not process, in other places the language uses process, but it > specifically uses thread here.) > > Thanks!