From: Yao Qi <yao@codesourcery.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: <gdb-patches@sourceware.org>
Subject: Re: [PATCH] Unbuffer stdout and stderr on windows
Date: Tue, 23 Jul 2013 06:35:00 -0000 [thread overview]
Message-ID: <51EE23F8.1070905@codesourcery.com> (raw)
In-Reply-To: <838v0yy556.fsf@gnu.org>
On 07/22/2013 11:40 PM, Eli Zaretskii wrote:
> This is wrong, stdout should be line-buffered by default.
>
stdout is line-buffered if it can be detected to connect to an
interactive device, otherwise it is fully buffered. Cygwin emulates pty
with pipes, and native win32 apps blindly assume all pipes are
non-interactive.
> Also, this punishes batch mode with stdout redirected to a file: its
> stdout buffering (and perhaps also that of stderr, although that's
> less important) will now always be line-buffered, i.e. less efficient.
Yeah, this patch hurts the performance, but gets the outputs in the
correct order, so that testsuite can be run to get a reasonable test result.
>
> Is it possible to detect the "Cygwin ssh session", whatever that
> means, and only do this then? I don't think it's right to change
Unfortunately, I am unable to find a heuristics to tell "GDB is in
cygwin session". There are some differences on env variables between
cygwin and Windows cmd.exe console, but I am afraid that they are not
reliable.
> behavior of a native w32 GDB just because it misbehaves when mixed
This patch is to change the buffered output to unbuffered, so the
behaviour of GDB is not changed, IMO.
> with Cygwin. Mixing native and Cygwin programs is asking for trouble
> to begin with, so punishing good citizens on behalf of that corner
> case is not TRT, IMO.
We test mingw native gdb in cygwin, because it is easy to set up, so
that mingw32 native gdb can be tested more widely. In the last resort,
we may add an option "--cygwin-tty", which I don't really like.
--
Yao (é½å°§)
next prev parent reply other threads:[~2013-07-23 6:35 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-22 3:07 Yao Qi
2013-07-22 15:41 ` Eli Zaretskii
2013-07-23 6:35 ` Yao Qi [this message]
2013-07-23 17:52 ` Eli Zaretskii
2013-07-29 19:26 ` Christopher Faylor
2013-07-29 19:30 ` Christopher Faylor
2013-07-29 19:30 ` Eli Zaretskii
2013-07-29 19:51 ` Pedro Alves
2013-07-31 3:40 ` Christopher Faylor
2013-08-12 21:11 ` Joel Brobecker
2013-08-13 17:28 ` Christopher Faylor
2013-08-13 18:08 ` Eli Zaretskii
2013-08-14 0:05 ` Joel Brobecker
2013-08-15 17:36 ` Christopher Faylor
2013-08-15 17:44 ` Eli Zaretskii
2013-08-15 17:59 ` Christopher Faylor
2013-08-15 18:44 ` Eli Zaretskii
2013-08-16 11:46 ` Pedro Alves
2013-08-16 12:34 ` Yao Qi
2013-08-16 13:20 ` Eli Zaretskii
2013-08-16 13:37 ` Pedro Alves
2013-08-16 14:03 ` Eli Zaretskii
2013-08-16 14:21 ` Pedro Alves
2013-08-16 14:57 ` Eli Zaretskii
2013-08-16 15:10 ` Pedro Alves
2013-08-16 15:24 ` Pedro Alves
2013-08-16 15:43 ` Eli Zaretskii
2013-08-16 16:41 ` Christopher Faylor
2013-08-16 15:41 ` Eli Zaretskii
2013-08-22 6:14 ` Yao Qi
2013-08-22 14:18 ` Joel Brobecker
2013-08-23 2:20 ` Yao Qi
2013-08-23 13:38 ` Joel Brobecker
2013-08-27 20:39 ` Pedro Alves
2013-08-28 7:23 ` Yao Qi
2013-08-28 9:39 ` Pedro Alves
2013-08-28 12:25 ` Yao Qi
2013-08-16 13:17 ` Eli Zaretskii
2013-08-16 13:30 ` Pedro Alves
2013-08-16 13:42 ` Eli Zaretskii
2013-08-16 14:13 ` Pedro Alves
2013-08-16 14:44 ` Eli Zaretskii
2013-08-16 15:05 ` Pedro Alves
2013-08-16 15:13 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=51EE23F8.1070905@codesourcery.com \
--to=yao@codesourcery.com \
--cc=eliz@gnu.org \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox