From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by yquem.inria.fr (Postfix) with ESMTP id 488D9BCA2 for ; Fri, 19 Aug 2005 04:04:19 +0200 (CEST) Received: from rproxy.gmail.com (rproxy.gmail.com [64.233.170.202]) by nez-perce.inria.fr (8.13.0/8.13.0) with ESMTP id j7J24Ioh013313 for ; Fri, 19 Aug 2005 04:04:18 +0200 Received: by rproxy.gmail.com with SMTP id a36so538341rnf for ; Thu, 18 Aug 2005 19:04:18 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=intWkvzbgZLfdez6x6lP1PfI2lzQwAWs+/DEOVDaH7mYMmlt2vZzWyiPbW6fO2FSoKj1pJlwzu2V0jyeeqmmXL5tYdBevDxBKYnEg2lId5pAOIi+D90Zr/+LQU1L2zOBNRkxLTRvMXBBDwxTcr4p4/Rrp7eX5OVQ5cuZuT3cy2Y= Received: by 10.38.104.19 with SMTP id b19mr567145rnc; Thu, 18 Aug 2005 19:04:18 -0700 (PDT) Received: by 10.38.209.44 with HTTP; Thu, 18 Aug 2005 19:04:18 -0700 (PDT) Message-ID: Date: Fri, 19 Aug 2005 14:04:18 +1200 From: Jonathan Roewen To: caml-list@yquem.inria.fr Subject: [Caml-list] In need of serious help regarding threading Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-Miltered: at nez-perce with ID 43053E22.001 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 threading:01 ocaml:01 systhreads:01 threads:01 systhreads:01 threading:01 ocaml:01 threads:01 byterun:01 libs:01 bytecode:01 variants:01 ....:98 kernel:01 X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=RCVD_BY_IP autolearn=disabled version=3.0.3 Hi, I hope someone with experience in the guts of the ocaml systhreads package can help me out. I've tried adapting the win32_threads.c source in systhreads to work with DST. I've implemented a C co-op threading module, which appears to function correctly according to the tests I've done. However, I can't seem to be able to get ocaml threads to play along nicely. I'm out of ideas, and really need some help >_< All code is available online (http://glek.net/subversion/os/kernel/) and can be checked out with an svn client (using URL above). For building, you need to first do make boot (takes a while on lesser machines like my PIII 600). Also, I copied hooks.h and signals.h from the byterun folder to ocaml/libs/ocaml/caml (needed private values for signals.h). And removed the bytecode variants of whatever was present. The file with the ocaml threading code is http://glek.net/subversion/os/kernel/ocamlthreads.c, and the C co-op threading code is http://glek.net/subversion/os/kernel/threads.c I would very much appreciate anyone who can take the time to look at this, and discover what I'm undoubtedly doing wrong. This is a major area of DST to be implemented, and without threading in OCaml, we're pretty much stuck in the middle of no-man's land. For once this is a legitimate cry for help ;-) I know I've sent some stupid, stupid emails in the past.... Thanks to all willing to help, Jonathan