From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Neil Jerram Newsgroups: gmane.lisp.guile.devel Subject: Re: Locks and threads Date: Thu, 05 Mar 2009 20:49:48 +0000 Message-ID: <87eixbvgnn.fsf@arudy.ossau.uklinux.net> References: <87mycsd2rj.fsf@arudy.ossau.uklinux.net> <87vdqovofz.fsf@arudy.ossau.uklinux.net> <3ae3aa420903041954l5b207967j35a690bc4c52377@mail.gmail.com> <87r61bvjlc.fsf@arudy.ossau.uklinux.net> <87mybzvipu.fsf@arudy.ossau.uklinux.net> <3ae3aa420903051240q12fce468qd96ac60a588fcda3@mail.gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1236286210 649 80.91.229.12 (5 Mar 2009 20:50:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 5 Mar 2009 20:50:10 +0000 (UTC) Cc: Guile Development To: linasvepstas@gmail.com Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Thu Mar 05 21:51:27 2009 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1LfKXN-00086l-7O for guile-devel@m.gmane.org; Thu, 05 Mar 2009 21:51:25 +0100 Original-Received: from localhost ([127.0.0.1]:46789 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LfKW1-0008Fw-Mx for guile-devel@m.gmane.org; Thu, 05 Mar 2009 15:50:01 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LfKVu-0008FW-8X for guile-devel@gnu.org; Thu, 05 Mar 2009 15:49:54 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LfKVt-0008Et-HS for guile-devel@gnu.org; Thu, 05 Mar 2009 15:49:53 -0500 Original-Received: from [199.232.76.173] (port=56849 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LfKVt-0008Eo-9N for guile-devel@gnu.org; Thu, 05 Mar 2009 15:49:53 -0500 Original-Received: from mail3.uklinux.net ([80.84.72.33]:38735) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LfKVs-0007k7-Q0 for guile-devel@gnu.org; Thu, 05 Mar 2009 15:49:53 -0500 Original-Received: from arudy (host86-157-180-39.range86-157.btcentralplus.com [86.157.180.39]) by mail3.uklinux.net (Postfix) with ESMTP id AEA031F663A; Thu, 5 Mar 2009 20:49:50 +0000 (GMT) Original-Received: from arudy.ossau.uklinux.net (arudy [127.0.0.1]) by arudy (Postfix) with ESMTP id C676038013; Thu, 5 Mar 2009 20:49:48 +0000 (GMT) In-Reply-To: <3ae3aa420903051240q12fce468qd96ac60a588fcda3@mail.gmail.com> (Linas Vepstas's message of "Thu\, 5 Mar 2009 14\:40\:29 -0600") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.4-2.6 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:8228 Archived-At: Linas Vepstas writes: > 2009/3/5 Neil Jerram : >>> Yes, it's an unrelated bug. =A0All of the places that raise errors (and >>> so exit non-locally) should exit the critical section first. >> >>> You're absolutely right. =A0I'll leave this part out, and generate a >>> separate patch for it. >> >> Here's the separate patch... > > Looks good, except for the test case: > > + (pass-if-exception "handler arg is an invalid integer" > + exception:out-of-range > + (sigaction SIGINT 51)) > > whereas my bits/signum.h shows: > > #define SIGUNUSED 31 > > #define _NSIG 65 /* Biggest signal number + 1 > (including real-time signals). */ > > I presume that in the era of 64-bit CPU's we might > start seeing new sigs in the 32-64 range. Or maybe > the RT kernels already do ... ? Right, but the 51 is the handler arg, for which the only valid integer values are SIG_DFL (0) and SIG_IGN (1). I'll add a comment to explain this, and code to make the test fail in case SIG_DFL or SIG_IGN is (on some platform) 51. Neil