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: srfi-18 requirements Date: Thu, 07 Feb 2008 23:26:36 +0000 Message-ID: <8763x0s5zn.fsf@ossau.uklinux.net> References: <2bc5f8210710101854m1254160ei451026182b87e767@mail.gmail.com> <2bc5f8210801191210h72903a37q1c8f60e3638bfdba@mail.gmail.com> <87ejc8kvnk.fsf@ossau.uklinux.net> <2bc5f8210801231523k62e9f6ddq17eb87c69df5ae16@mail.gmail.com> <877ihy3e82.fsf@ossau.uklinux.net> <2bc5f8210801241738j25c594wfc347b337aa7ed47@mail.gmail.com> <2bc5f8210801271806o478f2e24u1bbc77a21a270d5a@mail.gmail.com> <87abmig9v5.fsf@ossau.uklinux.net> <2bc5f8210802042227p7a2cb926ge64414c3665082dd@mail.gmail.com> <87fxw55zm0.fsf@ossau.uklinux.net> <2bc5f8210802061906m31a5c802q32306b0dd1fcb9a9@mail.gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1202426829 18468 80.91.229.12 (7 Feb 2008 23:27:09 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 7 Feb 2008 23:27:09 +0000 (UTC) Cc: =?iso-8859-1?Q?Ludovic_Court=E8s?= , guile-devel@gnu.org To: "Julian Graham" Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Fri Feb 08 00:27:31 2008 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 1JNG9E-0001QG-TT for guile-devel@m.gmane.org; Fri, 08 Feb 2008 00:27:17 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JNG8m-00007v-3K for guile-devel@m.gmane.org; Thu, 07 Feb 2008 18:26:48 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JNG8j-00007c-4E for guile-devel@gnu.org; Thu, 07 Feb 2008 18:26:45 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JNG8g-00007B-Mm for guile-devel@gnu.org; Thu, 07 Feb 2008 18:26:44 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JNG8g-000078-Dx for guile-devel@gnu.org; Thu, 07 Feb 2008 18:26:42 -0500 Original-Received: from mail3.uklinux.net ([80.84.72.33]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JNG8c-0006xc-Js; Thu, 07 Feb 2008 18:26:38 -0500 Original-Received: from arudy (host86-145-183-175.range86-145.btcentralplus.com [86.145.183.175]) by mail3.uklinux.net (Postfix) with ESMTP id 620521F6C6A; Thu, 7 Feb 2008 23:26:37 +0000 (GMT) Original-Received: from laruns (laruns [192.168.0.10]) by arudy (Postfix) with ESMTP id C6BC03800A; Thu, 7 Feb 2008 23:26:36 +0000 (GMT) In-Reply-To: <2bc5f8210802061906m31a5c802q32306b0dd1fcb9a9@mail.gmail.com> (Julian Graham's message of "Wed, 6 Feb 2008 22:06:41 -0500") User-Agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux) X-detected-kernel: by monty-python.gnu.org: 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:6991 Archived-At: "Julian Graham" writes: >> How about if the core join-thread takes an optional timeout-val >> parameter, like SRFI-18 thread-join! ? If no timeout-val was >> supplied, and the join timed out, the core join-thread would return >> #f. > > For join-thread, sure. What about scm_join_thread? Sorry if I'm > being obtuse, but my understanding was that you didn't want anything > like scm_join_thread_timed and that changing the signature of > scm_join_thread was out of the question. (Or should this enhancement > only be exposed in Scheme?) Write scm_join_thread_timed(), which implements all the new behaviour. Map that to join-thread in Scheme - then that's still back compatible, because the added args are optional. Then rewrite scm_join_thread() as a trivial function that just calls scm_join_thread_timed(). See scm_catch_with_pre_unwind_handler() and scm_catch() in throw.c for a similar example. Does that sound OK to you? Regards, Neil