From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id NAA08380 for caml-redistribution; Wed, 16 Apr 1997 13:58:30 +0200 (MET DST) 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 KAA12587 for ; Tue, 15 Apr 1997 10:42:00 +0200 (MET DST) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.7.6/8.7.3) with ESMTP id KAA20923 for ; Tue, 15 Apr 1997 10:41:59 +0200 (MET DST) Received: (from nobody@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id KAA12583; Tue, 15 Apr 1997 10:41:59 +0200 (MET DST) Date: Tue, 15 Apr 1997 10:41:59 +0200 (MET DST) Message-Id: <199704150841.KAA12583@pauillac.inria.fr> From: pcuoq@ens.ens-lyon.fr To: caml-list@inria.fr In-Reply-To: Subject: Re: threads library in Objective Caml X-Sender: perrache.ens-lyon.fr Sender: weis I think that the part of the documentation you refer to deals with the thread library of the bytecode compiler, implemented by time-sharing on the virtual machine. There is however a thread library using Unix threads (in otherlibs/systhreads) but it has the same bad behavior on multi-processor machines : There is (almost everytime) only one caml thread running. This is ensured by a mutex shared among caml threads. The mutex is released only at safe points of the execution. In particular it is released each time that the current thread could block. This explains the behavior of caml programs on MP machines. Pascal