This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: "target remote | " stderr


Mark Kettenis wrote:

>> From: Vladimir Prus <ghost@cs.msu.su>
>> 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.  

Documentation for ReadFile suggests that it will block until the
requested number of bytes is available.

> Then you could use gdb_select() 
> to check whether input is available on the pipe.

How the possibility of using gdb_select() depends on read() being fully
blocking or not? I think I miss some connection here.

> Otherwise, you should think about introducing an asbtraction layer for
> reading from error_fd.

Is it indeed worthwhile to introduce abstraction layer to hide 5 lines of code?

- Volodya



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]