From: Eli Zaretskii <eliz@gnu.org>
To: Pedro Alves <palves@redhat.com>
Cc: gdb-patches@sourceware.org, brobecker@adacore.com, yao@codesourcery.com
Subject: Re: [PATCH] Unbuffer stdout and stderr on windows
Date: Fri, 16 Aug 2013 13:42:00 -0000 [thread overview]
Message-ID: <83siy9n44r.fsf@gnu.org> (raw)
In-Reply-To: <520E296C.8090906@redhat.com>
> Date: Fri, 16 Aug 2013 14:30:20 +0100
> From: Pedro Alves <palves@redhat.com>
> CC: gdb-patches@sourceware.org, brobecker@adacore.com, yao@codesourcery.com
>
> So how is emacs starting GDB?
Via a pipe, of course. How else could Emacs read what GDB outputs and
interpret it?
> If it is started in a pipe, then what is forcing flushing at line
> ends so that emacs doesn't break?
Emacs has a special machinery to decode EOLs correctly even if input
ends in a CR, and the NL comes later. But this machinery is
heuristics and it's fragile. Right now, the amount of such "broken"
outputs is usually very small, and the fact that GDB flushes its
stdout probably makes it negligibly small. If we cause more of these
instances to happen, the probability of a failure in a given session
will go up.
> IOW, the testsuite is not special, in that if emacs starts
> GDB with io connected to pipes, then it should be having the
> exact same issues the testsuite has.
The test suite is special, AFAIU. The original problem was not with
buffering, it was with mixing stdout and stderr that confused Expect.
An Emacs (human) user will never be confused by any such mix, and I
believe MI output makes the mix improbable.
In any case, I heard no complaints about any such situations, nor did
I ever see that myself.
> We do have "gdb_flush (gdb_stdout)" calls sprinkled through the
> tree. If that is what makes emacs+pipe work, then OK, we can remain
> with stdout fully buffered, but then I'd say that the bug is that
> there are places that miss gdb_flush calls.
Maybe we should dig deeper in the original problem as well, because I
still have only a very vague notion of why would GDB, which is a
single-threaded program, cause mixing when it flushes stdout
regularly. What am I missing?
next prev parent reply other threads:[~2013-08-16 13:42 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
2013-07-23 17:52 ` Eli Zaretskii
2013-07-29 19:26 ` 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 [this message]
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
2013-07-29 19:30 ` Christopher Faylor
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=83siy9n44r.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=brobecker@adacore.com \
--cc=gdb-patches@sourceware.org \
--cc=palves@redhat.com \
--cc=yao@codesourcery.com \
/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