From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 63DFBBB91 for ; Sat, 15 Jan 2005 18:49:54 +0100 (CET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j0FHnrfL013797 for ; Sat, 15 Jan 2005 18:49:54 +0100 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 SAA13207 for ; Sat, 15 Jan 2005 18:49:53 +0100 (MET) Received: from alex.barettalocal.com (host52-68.pool80116.interbusiness.it [80.116.68.52]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j0FHnqbq013790 for ; Sat, 15 Jan 2005 18:49:53 +0100 Received: from [127.0.0.1] (localhost.localdomain [127.0.0.1]) by alex.barettalocal.com (Postfix) with ESMTP id 0CC062BB7CA; Sat, 15 Jan 2005 18:49:58 +0100 (CET) Message-ID: <41E957C5.6050808@barettadeit.com> Date: Sat, 15 Jan 2005 18:49:57 +0100 From: Alex Baretta User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.3) Gecko/20041007 Debian/1.7.3-5 X-Accept-Language: it, en-us, en MIME-Version: 1.0 To: Luca Pascali Cc: caml-list@inria.fr Subject: Re: [Caml-list] Mutex and posix References: <41E501B4.4060601@yahoo.it> In-Reply-To: <41E501B4.4060601@yahoo.it> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Miltered: at concorde with ID 41E957C1.002 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 41E957C1.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; baretta:01 caml-list:01 posix:01 wrote:01 posix:01 mutexes:01 const:01 struct:01 simulate:01 synchronous:01 baretta:01 machiavelli:98 unix:01 functions:01 int:01 X-Spam-Checker-Version: SpamAssassin 3.0.0 (2004-09-13) on yquem.inria.fr X-Spam-Status: No, score=0.1 required=5.0 tests=FORGED_RCVD_HELO autolearn=disabled version=3.0.0 X-Spam-Level: Luca Pascali wrote: > Just a little question, my curiosity about the thread module. > > I found in Posix (this is from 'info libc' page on section Mutexes) > these three functions > > Function: int pthread_mutex_lock (pthread_mutex_t *mutex)) > Function: int pthread_mutex_trylock (pthread_mutex_t *MUTEX) > Function: int pthread_mutex_timedlock (pthread_mutex_t *MUTEX, const > struct timespec *ABSTIME) You can probably simulate the third one fairly well by resorting to Unix.select as a timer, but why in the world would you want to lock for a while and then forget about it? Besides --- given Machiavelli works in an asynchronous, event-modeled world --- why would want to use synchronous primitives such as timedlock? Alex -- ********************************************************************* http://www.barettadeit.com/ Baretta DE&IT A division of Baretta SRL tel. +39 02 370 111 55 fax. +39 02 370 111 54 Our technology: The Application System/Xcaml (AS/Xcaml) The FreerP Project