From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11102 invoked by alias); 5 Feb 2006 22:00:06 -0000 Received: (qmail 11074 invoked by uid 22791); 5 Feb 2006 22:00:03 -0000 X-Spam-Check-By: sourceware.org Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Sun, 05 Feb 2006 22:00:01 +0000 Received: from drow by nevyn.them.org with local (Exim 4.54) id 1F5rvK-0001uL-HK; Sun, 05 Feb 2006 16:59:58 -0500 Date: Sun, 05 Feb 2006 22:00:00 -0000 From: Daniel Jacobowitz To: Ian Lance Taylor Cc: gdb-patches@sourceware.org Subject: Re: RFA: Various Windows (mingw32) additions, mostly relating to select or serial ports Message-ID: <20060205215958.GA7299@nevyn.them.org> Mail-Followup-To: Ian Lance Taylor , gdb-patches@sourceware.org References: <20060203220529.GA3578@nevyn.them.org> <20060204145911.GC17011@nevyn.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.8i X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2006-02/txt/msg00106.txt.bz2 On Sat, Feb 04, 2006 at 04:01:07PM -0800, Ian Lance Taylor wrote: > Well, OK, let's try this. Create a new pipe. Create yet another new > thread which reads from the original pipe and writes to the new pipe. > Freopen the new pipe onto stdin. When the new thread writes to the > new pipe, it signals the event loop once, and then waits. When the > event loop gets the signal, it indicates that it is OK to read from > stdin, the new pipe. When you reenter the event loop, it signals the > new thread to tell it that it is interested in more data and more > signals. I'm not convinced this would work. Remember, not only do we read from this pipe just about everywhere, a lot of the time we don't pass through the event loop. We'd have to have a thread which did blocking reads from the original pipe, wrote that data straight through to a new pipe, and signalled an event whenever it performed a write. Not only would that be tricky to get right, but we've also traded off a thread when selecting for a thread all the time. Do you think the 10ms poll is sufficiently nasty to justify pursuing this? I suppose I could be convinced to give it another try... -- Daniel Jacobowitz CodeSourcery