From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.9 required=5.0 tests=AWL,SPF_SOFTFAIL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 0E3D7BC37 for ; Fri, 7 Aug 2009 10:17:11 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhEBAFKAe0pVnosTkWdsb2JhbACBUphuAQEBAQkLCgcTBbRyhBYF X-IronPort-AV: E=Sophos;i="4.43,340,1246831200"; d="scan'208";a="44429833" Received: from mail178.messagelabs.com ([85.158.139.19]) by mail4-smtp-sop.national.inria.fr with SMTP; 07 Aug 2009 10:17:08 +0200 X-VirusChecked: Checked X-Env-Sender: christoph.bauer@lmsintl.com X-Msg-Ref: server-4.tower-178.messagelabs.com!1249633026!7549439!1 X-StarScan-Version: 6.1.3; banners=-,-,- X-Originating-IP: [213.68.136.230] Received: (qmail 12178 invoked from network); 7 Aug 2009 08:17:07 -0000 Received: from kaiserslautern1.lms-gmbh.de (HELO mail-in.lmsintl.com) (213.68.136.230) by server-4.tower-178.messagelabs.com with SMTP; 7 Aug 2009 08:17:07 -0000 Received: from KL-SRV57.lmsintl.com (unknown [10.2.100.57]) by mail-in.lmsintl.com (Postfix) with ESMTP id 8B2F643C005; Fri, 7 Aug 2009 12:43:11 +0200 (CEST) X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Subject: RE: [Caml-list] windows, threads and sockets Date: Fri, 7 Aug 2009 10:17:03 +0200 Message-ID: In-Reply-To: <001701ca1734$5158e900$f40abb00$@metastack.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [Caml-list] windows, threads and sockets Thread-Index: AcoXMsZ1uIEkHuNHQB6lMvIyG9T6ygAARRPAAABAK7A= References: <001701ca1734$5158e900$f40abb00$@metastack.com> From: "Christoph Bauer" To: "David Allsopp" , X-Spam: no; 0.00; sockets:01 ocaml:01 otherlibs:01 semantics:01 bug:01 workarounds:01 otherlibs:01 overwrite:01 scheduler:01 threads:01 threads:01 unix:01 unix:01 caml-list:01 explicitly:02 > > Any ideas? >=20 > I can't tell you explicitly why it has failed, but=20 > Unix.select was completely rewritten for OCaml 3.11.0 based=20 > on a big contribution from Sylvain Le Gall (see=20 > otherlibs/win32unix/select.c). The principal aim was to make=20 > the semantics of Unix.select the same between *NIX and=20 > Windows so if it works on Linux then it sounds like you've=20 > hit a bug... >=20 Good to know, I missed that change. So the new Unix.select should now work also on pipes? I guess it from the function named read_pipe_poll() in select.c. This is good news, because I can throw away some workarounds. But maybe the problem with thread is, that not otherlibs/win32unix/select.c is used. There is also otherlibs/threads/unix.ml with seems to overwrite Unix.select and there are select() calls in otherlibs/threads/scheduler.c. I'm just guessing here. So maybe the simples solution for me (I have to stick to 3.11.0) would be to create my thread in plain C, link against is and omit the dreaded threads library ;-) The task of my thread is very simple... Thanks for help, Christoph Bauer