From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id RAA25512; Mon, 18 Feb 2002 17:34:01 +0100 (MET) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id RAA25017 for ; Mon, 18 Feb 2002 17:34:00 +0100 (MET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g1IGXx500969; Mon, 18 Feb 2002 17:33:59 +0100 (MET) Received: (from xleroy@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id RAA25218; Mon, 18 Feb 2002 17:33:58 +0100 (MET) Date: Mon, 18 Feb 2002 17:33:58 +0100 From: Xavier Leroy To: Hendrik Tews Cc: caml-list@inria.fr Subject: Re: [Caml-list] at_exit functions not called during exit Message-ID: <20020218173358.B27097@pauillac.inria.fr> References: <15472.64652.573933.952197@gargle.gargle.HOWL> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0i In-Reply-To: <15472.64652.573933.952197@gargle.gargle.HOWL>; from tews@tcs.inf.tu-dresden.de on Mon, Feb 18, 2002 at 02:07:24PM +0100 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk > I noticed that functions registered with Pervasives.at_exit are > not called when a C-library function calls exit. Is this a bug or > a feature? I'd say a feature. Caml's at_exit functions are called when the process stops because Caml asked it to, e.g. via Pervasives.exit or an uncaught exception. It wasn't clear to me whether you'd want to do this as well if the C code decides to stop the process. > Assuming it is a feature I experimented with atexit and callbacks > to ocaml. Yes, that's the way I'd recommend to get Caml finalization when C exits. > Now I have the following question: > When a ocaml program is going down, is there a point of time > after which I should not callback from C to Ocaml (because > libraries/the garbage collector are deinitialised)? The OCaml runtime system, once initialized, is never de-initialized, so I'd say you can call back from C to OCaml at any time after initialization. > Functions registered via at_exit are at least called during > normal termination. And the manual says > They will not be called if > the program terminates because of an uncaught exception. > which is not true in ocaml-3.04. Well spotted. Will fix the docs. - Xavier Leroy ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners