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: [PATCH 1/3] New option --cygwin-tty.


On Jul 25 17:04, Yao Qi wrote:
> On 07/25/2013 04:18 PM, Corinna Vinschen wrote:
> >>Yeah, I agree, but I am worried that stdio handlers (such as stdout)
> >>>should be set before any writes to them, so we should set the flag
> >>>(cygwin_tty) at the early stage of GDB start up (before command 'set
> >>>windows-os-tty on' is processed).  If it is not a problem, I am
> >>>fine.
> >You can use the _setmode() call at any time to switch text/binary mode
> >on the descriptors.
> >
> 
> The doc on _setmode on MSDN says _setmode () should be called before
> any input or output operations.
> 
> http://msdn.microsoft.com/en-us/library/tw4k6df8.aspx
> 
> "_setmode is typically used to modify the default translation mode
> of stdin and stdout, but you can use it on any file. If you apply
> _setmode to the file descriptor for a stream, call _setmode before
> you perform any input or output operations on the stream."
> 
> Beside setmode, we also need setvbuf to disable buffering.  It
> should be called before any input or output on the stream.
> 
> >>>I am looking at Corinna's example to see how to detect GDB is
> >>>running in Cygwin's TTY.  If it works, probably we can get rid of
> >>>this new GDB option completely.
> >It has been tested under Mingw-w64 and VC++.  If you're using Mingw.Org,
> >it probably needs some tweaking.
> 
> Right, it needs some tweaks on headers files for Mingw.Org.
> 
> What is the minimum version of cygwin required for this example?  In
> cygwin 1.7.20, the file name is
> "\cygwin-8c26184c318518a4-pty0-from-master", while in 1.7.9, it is
> "\cygwin-c5e39b7a9d22bafb-tty0-from-master".

Read the source code comments.  The hex number is a per-installation
hash value which does not tell anything about the Cygwin version.  The
earliest supported Cygwin version is 1.7.0, so the answer is "all of
them" for all practical purposes.


Corinna

-- 
Corinna Vinschen
Cygwin Maintainer
Red Hat


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