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=1.1 required=5.0 tests=AWL,SPF_NEUTRAL 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 2B2DBBC0A for ; Fri, 1 Dec 2006 14:46:36 +0100 (CET) Received: from wr-out-0506.google.com (wr-out-0506.google.com [64.233.184.228]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id kB1DkZLW024949 for ; Fri, 1 Dec 2006 14:46:35 +0100 Received: by wr-out-0506.google.com with SMTP id 71so1061153wri for ; Fri, 01 Dec 2006 05:46:35 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=ao3dduTSPd5FG4akOjzDJL8lp9Y0v0HNZChEaq/ANv8xQJTazfVMDK2hTi9FRleHjdy0vYb3TkKlGRUae9sHnKR6FzHoEqoBWeHj4pdiYPM9JFNR2i9bLrbg6+Xs5BoFoVatNg8J6Xbg04nfAcXihjuerL7bgCQ0CplJbQiDR+c= Received: by 10.90.94.2 with SMTP id r2mr5055278agb.1164980367052; Fri, 01 Dec 2006 05:39:27 -0800 (PST) Received: by 10.90.114.12 with HTTP; Fri, 1 Dec 2006 05:39:26 -0800 (PST) Message-ID: <90823c940612010539vacb2ffasf4e90748ef1c0485@mail.gmail.com> Date: Fri, 1 Dec 2006 16:39:26 +0300 From: "Dmitry Bely" To: "Richard Jones" Subject: Re: [Caml-list] Can GC be BLOCKed? Cc: caml-list@inria.fr In-Reply-To: <20061201091932.GA29517@furbychan.cocan.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <1965df800611291633q4f615df5qaa43dc967ba87d56@mail.gmail.com> <1FB91514-18D1-4502-AF67-C1003EB8636B@mac.com> <1965df800611301607g330f5517saeba25d40c3321ca@mail.gmail.com> <20061201091932.GA29517@furbychan.cocan.org> X-j-chkmail-Score: MSGID : 4570323B.000 on concorde : j-chkmail score : X : 0/20 1 X-Miltered: at concorde with ID 4570323B.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; ocaml:01 ocaml:01 heap:01 heap:01 garbage:01 wrote:01 minor:01 caml-list:01 dmitry:01 dmitry:01 bely:01 bely:01 module:03 solved:04 solved:04 On 12/1/06, Richard Jones wrote: > I've only seen two cases where I'd want to stop the GC from running: > (1) During quasi real-time operations (eg. a single frame in a game) -- > this can be solved by making the heap large enough and running the GC > at scheduled points. (2) When the heap is larger than physical RAM -- > this is solved using our 'Ancient' module. I have a main program in C that periodically calls an OCaml function and expects the (near) real time response. So I'd like to avoid gc inside that function. My current plan is to have another OCaml thread that is unfrozen just before returning results to C and does the minor (or major - how to decide which one?) garbage collection. Will it work? - Dmitry Bely