From owner-freebsd-stable@FreeBSD.ORG Wed Mar 28 22:20:29 2007 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 9CB5216A406; Wed, 28 Mar 2007 22:20:29 +0000 (UTC) (envelope-from steve@Watt.COM) Received: from wattres.watt.com (wattres.watt.com [66.93.133.130]) by mx1.freebsd.org (Postfix) with ESMTP id 7531013C46E; Wed, 28 Mar 2007 22:20:29 +0000 (UTC) (envelope-from steve@Watt.COM) Received: from wattres.watt.com (localhost.watt.com [127.0.0.1]) by wattres.watt.com (8.13.8/8.13.8) with ESMTP id l2SM0O61060017; Wed, 28 Mar 2007 15:00:29 -0700 (PDT) (envelope-from steve@wattres.watt.com) Received: (from steve@localhost) by wattres.watt.com (8.13.8/8.13.8/Submit) id l2SM0OG2060016; Wed, 28 Mar 2007 15:00:24 -0700 (PDT) (envelope-from steve) Message-Id: <200703282200.l2SM0OG2060016@wattres.watt.com> X-Newsgroups: local.freebsd-hackers In-Reply-To: From: steve@Watt.COM (Steve Watt) References: <665184.92983.qm@web32901.mail.mud.yahoo.com> Organization: Watt Consultants, San Jose, CA, USA Date: Wed, 28 Mar 2007 15:00:24 -0700 X-Mailer: Mail User's Shell (7.2.6 beta(5) 10/07/98) To: deischen@freebsd.org X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-3.0 (wattres.watt.com [127.0.0.1]); Wed, 28 Mar 2007 14:00:29 -0800 (PST) X-Archived: 1175119229.384742700@wattres.Watt.COM Cc: freebsd-stable@freebsd.org Subject: Re: Pthreads signals X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 28 Mar 2007 22:20:29 -0000 In , Daniel Eischen wrote: >On Wed, 28 Mar 2007, Peter Holmes wrote: > >> How do signals work with pthreads in FreeBSD. How are process signals >> delivered? > >The best explanation of signals and threads in general >is in the POSIX spec, or Butenhof's book. > > http://www.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_04.html I suspect the question was rather more specific than that, due to bad experiences with LinuxThreads. Does FreeBSD have a proper signal delivery model, where thread masks are per-signal, and signals sent to the process when all threads within the process have the signal blocked remain pending against the process so any thread may accept the signal using sigwait()/sigtimedwait()/sigwaintinfo(). I suspect the answer is yes, but I haven't played with threads on recent versions enough. -- Steve Watt KD6GGD PP-ASEL-IA ICBM: 121W 56' 57.5" / 37N 20' 15.3" Internet: steve @ Watt.COM Whois: SW32-ARIN Free time? There's no such thing. It just comes in varying prices...