From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id D39A07EE4B for ; Thu, 10 Oct 2013 14:24:09 +0200 (CEST) X-IronPort-AV: E=Sophos;i="4.90,1071,1371074400"; d="scan'208";a="36406384" Received: from unknown (HELO [10.1.202.3]) ([194.254.61.161]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-CAMELLIA256-SHA; 10 Oct 2013 14:24:08 +0200 Message-ID: <52569C69.1050408@inria.fr> Date: Thu, 10 Oct 2013 14:24:09 +0200 From: Romain Bardou User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130116 Icedove/10.0.12 MIME-Version: 1.0 To: Arnaud Spiwack CC: "caml-list@inria.fr" References: <52551D48.2030204@inria.fr> In-Reply-To: X-Enigmail-Version: 1.4.1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Validation-by: romain.bardou@inria.fr Subject: Re: [Caml-list] [ANN] Procord 0.1.0: Delegate tasks to other processes Indeed. In fact I made a feature request about this: http://caml.inria.fr/mantis/view.php?id=6146 So, just waiting for OCaml 4.02 will solve the issue. If waiting is not an option I can of course add this in Procord. I should at least provide a way to get the PID / Process Handle so that one can call TerminateProcess using his own binding. While we are discussing the differences between Windows and Linux, there is actually another one: the Windows server does not fork and, thus, only accepts one task at a time. This could be solved by having the server execute himself to run the tasks. But before actually implementing this I prefer to wait and see whether there is a real need (Windows servers are less common). Cheers, -- Romain Bardou Le 10/10/2013 14:06, Arnaud Spiwack a écrit : > I see you are using Unix.kill to kill processes. But I was under the > impression that it didn't work properly on Windows. Am I mistaken? > > > On 9 October 2013 11:09, Romain Bardou > wrote: > > I am happy to announce the first release of Procord, a portable library > to delegate tasks to other processes. > > Obtain it with opam: > > opam install procord > > Or, download the tarball: > > https://github.com/cryptosense/procord/archive/v0.1.0.tar.gz > > View a minimal, commented example: > > https://github.com/cryptosense/procord/blob/master/examples/minimal.ml > > You can browse the API at: > > http://cryptosense.github.io/procord/api/index.html > > Procord can spawn local worker processes or communicate using sockets to > a remote worker server. Workers will receive an input, execute a > function on this input, and send back the result. Meanwhile, the main > program can continue to run while waiting for the results. > > Not relying on threads, Procord is robust - a segmentation fault in the > worker will not kill the main program. Not relying on fork, Procord is > portable - it has been tested on Linux and Windows. > > Procord provides an easy way to have the same executable act as a worker > - local or remote - or as the main program. The actual behavior can be > specified on the command-line. The default is to run as the main > program, which delegates tasks by running itself. > > I will present Procord at the OUPS meeting of this evening. > > -- > Romain Bardou > > -- > Caml-list mailing list. Subscription management and archives: > https://sympa.inria.fr/sympa/arc/caml-list > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs > >