From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16374 invoked by alias); 11 Feb 2007 18:10:02 -0000 Received: (qmail 16318 invoked by uid 22791); 11 Feb 2007 18:10:01 -0000 X-Spam-Check-By: sourceware.org Received: from sibelius.xs4all.nl (HELO brahms.sibelius.xs4all.nl) (82.92.89.47) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sun, 11 Feb 2007 18:09:56 +0000 Received: from brahms.sibelius.xs4all.nl (kettenis@localhost.sibelius.xs4all.nl [127.0.0.1]) by brahms.sibelius.xs4all.nl (8.14.0/8.14.0) with ESMTP id l1BI9fcb008244; Sun, 11 Feb 2007 19:09:41 +0100 (CET) Received: (from kettenis@localhost) by brahms.sibelius.xs4all.nl (8.14.0/8.14.0/Submit) id l1BI9cM8023458; Sun, 11 Feb 2007 19:09:38 +0100 (CET) Date: Sun, 11 Feb 2007 18:10:00 -0000 Message-Id: <200702111809.l1BI9cM8023458@brahms.sibelius.xs4all.nl> From: Mark Kettenis To: ghost@cs.msu.su CC: gdb-patches@sources.redhat.com In-reply-to: (message from Vladimir Prus on Sun, 11 Feb 2007 19:55:03 +0300) Subject: Re: "target remote | " stderr References: <200701261653.53834.vladimir@codesourcery.com> <20070126140028.GA29456@nevyn.them.org> <20070131144101.GA23780@nevyn.them.org> Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2007-02/txt/msg00156.txt.bz2 > From: Vladimir Prus > Date: Sun, 11 Feb 2007 19:55:03 +0300 > > Daniel Jacobowitz wrote: > > > On Wed, Jan 31, 2007 at 05:34:21PM +0300, Vladimir Prus wrote: > >> Implementing for MinGW required modifying libiberty so that > >> it can catch stderr to a pipe. Here's a patch for gdb that > >> relies on the libiberty patch. Does this sound OK > >> provided libiberty patch is approved? > > > > Do we automatically get a non-blocking pipe on mingw, or do we have to > > set it ourselves? > > We have to set it ourself, unfortunately. I had one test case working > fine, but got gdb hanging on some other. > > The attached patch works around the blocking issues, and more extensively > tested. OK? Please keep Windows-specific code out of ser-base.c. Is read() on MinGW fully blocking? Or will it return whatever is available and only block if nothing is available. Then you could use gdb_select() to check whether input is available on the pipe. Otherwise, you should think about introducing an asbtraction layer for reading from error_fd. Mark