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 0DD89BCA8 for ; Tue, 5 Apr 2005 16:30:44 +0200 (CEST) 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 j35EUh30014828 for ; Tue, 5 Apr 2005 16:30:43 +0200 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 QAA00062 for ; Tue, 5 Apr 2005 16:30:43 +0200 (MET DST) Received: from furbychan.cocan.org (furbychan.cocan.org [80.68.91.176]) by concorde.inria.fr (8.13.0/8.13.0) with ESMTP id j35EUghX014822 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO) for ; Tue, 5 Apr 2005 16:30:43 +0200 Received: from rich by furbychan.cocan.org with local (Exim 3.35 #1 (Debian)) id 1DIp4i-00049m-00; Tue, 05 Apr 2005 15:30:40 +0100 Date: Tue, 5 Apr 2005 15:30:40 +0100 To: Eijiro Sumii Cc: caml-list@inria.fr Subject: Re: [Caml-list] select (or polling) on in_channel? Message-ID: <20050405143037.GB13493@furbychan.cocan.org> References: <20050404.162414.18571932.eijiro_sumii@anet.ne.jp> <425226CF.80708@barettadeit.com> <20050405.093439.68549116.eijiro_sumii@anet.ne.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20050405.093439.68549116.eijiro_sumii@anet.ne.jp> User-Agent: Mutt/1.3.28i From: Richard Jones X-Miltered: at concorde with ID 4252A113.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Miltered: at concorde with ID 4252A112.000 by Joe's j-chkmail (http://j-chkmail.ensmp.fr)! X-Spam: no; 0.00; caml-list:01 eijiro:01 sumii:01 threads:01 semantics:01 stack:01 setjmp:01 notepad:01 wrote:01 tricky:02 asm:02 implement:05 channel:06 marketing:93 tue:06 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on yquem.inria.fr X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.0.2 X-Spam-Level: On Tue, Apr 05, 2005 at 09:34:39AM -0400, Eijiro Sumii wrote: > I rather want to avoid multi-threading if select could be easy enough, > because the former is often too tricky due to the possibility of > deadlocks and races. You can implement threads on top of select / poll semantics. You also need to have a stack switching operation (such as makecontext / swapcontext, setjmp / longjmp, or a bit of asm). Proof by example: http://www.annexia.org/freeware/pthrlib Rich. -- Richard Jones, CTO Merjis Ltd. Merjis - web marketing and technology - http://merjis.com Team Notepad - intranets and extranets for business - http://team-notepad.com