From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id B349BBC69 for ; Wed, 29 Aug 2007 10:12:29 +0200 (CEST) Received: from capsaicin.mamane.lu (5.xs4all.nl [82.95.233.223]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l7T8CSdF006019 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 29 Aug 2007 10:12:29 +0200 Received: from master by capsaicin.mamane.lu with local (Exim 4.67) (envelope-from ) id 1IQIf1-00024f-CT; Wed, 29 Aug 2007 10:12:23 +0200 Date: Wed, 29 Aug 2007 10:12:23 +0200 From: Lionel Elie Mamane To: Brian Hurt Cc: Robert Fischer , caml-list@inria.fr Subject: Re: [Caml-list] Has the thread cancellation problem evolved ? Message-ID: <20070829081223.GA7954@capsaicin.mamane.lu> References: <9FA25C33-04DD-46BD-8959-873DDD2FFF82@epfl.ch> <1188055755.10796.37.camel@rosella.wigram> <1188257636.7533.23.camel@localhost.localdomain> <5EB9CEB2-3B79-4652-B6D1-10FEEC8E55E5@mac.com> <46D432CA.8010708@janestcapital.com> <46D4370C.1000305@fischerventure.com> <46D43B68.1000206@janestcapital.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <46D43B68.1000206@janestcapital.com> X-Operating-System: GNU/Linux X-Request-PGP: http://www.mamane.lu/openpgp/rsa_v4_4096.asc User-Agent: Mutt/1.5.13 (2006-08-11) X-Miltered: at concorde with ID 46D52A6C.002 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; ocaml:01 recursion:01 recursion:01 28,:98 wrote:01 wrote:01 stack:01 stack:01 rec:01 exception:01 caml-list:01 tail:01 let:03 brian:05 brian:05 On Tue, Aug 28, 2007 at 11:12:40AM -0400, Brian Hurt wrote: > Robert Fischer wrote: >> Brian Hurt wrote: > Until you get someone "clever", who does something like (in Ocaml): > let rec do_my_work () = > try > do_a_bunch_of_work () > with > | Thread_abort_exception -> > (* Ack! Someone tried to kill me! I refuse to die! *) > do_my_work () > ;; > I suppose eventually you'd blow stack. Nah, that recursion is a tail recursion, so stack use doesn't grow :) -- Lionel