Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Doug Evans <dje@google.com>
To: Pedro Alves <palves@redhat.com>
Cc: Mark Wielaard <mjw@redhat.com>,
	   Jan Kratochvil <jan.kratochvil@redhat.com>,
	   gdb-patches@sourceware.org
Subject: Re: [PATCH] Fix "attach" command vs user input race [Re: Regression for attach from stdin  [Re: [pushed] Re: [PATCH v6 0/2] enable target-async by default]]
Date: Mon, 07 Jul 2014 16:39:00 -0000	[thread overview]
Message-ID: <21434.52532.737427.778289@ruffy.mtv.corp.google.com> (raw)
In-Reply-To: <53B6B0B8.2050702@redhat.com>

Pedro Alves writes:
 > gdb/
 > 2014-07-04  Pedro Alves  <palves@redhat.com>
 > 
 > 	* infcmd.c (attach_command_post_wait): Don't call
 > 	target_terminal_inferior here.
 > 	(attach_command): Call it here instead.
 > [...]
 > diff --git a/gdb/infcmd.c b/gdb/infcmd.c
 > index c4bb401..76ab12b 100644
 > --- a/gdb/infcmd.c
 > +++ b/gdb/infcmd.c
 > @@ -2381,9 +2381,6 @@ attach_command_post_wait (char *args, int from_tty, int async_exec)
 > 
 >    post_create_inferior (&current_target, from_tty);
 > 
 > -  /* Install inferior's terminal modes.  */
 > -  target_terminal_inferior ();
 > -
 >    if (async_exec)
 >      {
 >        /* The user requested an `attach&', so be sure to leave threads
 > @@ -2495,9 +2492,11 @@ attach_command (char *args, int from_tty)
 >       shouldn't refer to attach_target again.  */
 >    attach_target = NULL;
 > 
 > -  /* Set up the "saved terminal modes" of the inferior
 > -     based on what modes we are starting it with.  */
 > +  /* Set up the "saved terminal modes" of the inferior based on what
 > +     modes we are starting it with, and remove stdin from the event
 > +     loop.  */
 >    target_terminal_init ();
 > +  target_terminal_inferior ();
 > 
 >    /* Set up execution context to know that we should return from
 >       wait_for_inferior as soon as the target reports a stop.  */

Our nomenclature here is problematic. I always do a double take when
I see attach and target_terminal_foo mentioned in the same sentence.
Bleah.

For the case at hand, and at least until we have something more
readable, can I ask for a slight change here?

target_terminal_inferior can do a lot more than just "remove stdin
from the event loop", thus as a reader I'm left being unsure
if there aren't still more bugs here.

Plus, while I can see how to map the comment to the code in the patch,

"Set up the "saved terminal modes" of the inferior based on what
modes we are starting it with"
-->
  target_terminal_init ();

and

"remove stdin from the event loop"
-->
  target_terminal_inferior ();

If I look at the result after the patch,
combining the two steps into one sentence doesn't help clarify
things given that target_terminal_inferior can do more than just
"remove stdin from the event loop".

E.g., this is a marginal improvement:

  /* Set up the "saved terminal modes" of the inferior based on what
     modes we are starting it with.  */
  target_terminal_init ();
  /* And remove stdin from the event loop.  */
  target_terminal_inferior ();

But I'm hoping for more text in the second comment to explain things
better.


  parent reply	other threads:[~2014-07-07 16:39 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-23 20:59 [PATCH v6 0/2] enable target-async by default Pedro Alves
2014-05-23 20:59 ` [PATCH v6 2/2] enable target async by default; separate MI and target notions of async Pedro Alves
2014-05-24  7:03   ` Eli Zaretskii
2014-05-29 13:49     ` Pedro Alves
2014-07-30 18:40       ` Doug Evans
2014-05-23 20:59 ` [PATCH v6 1/2] Make display_gdb_prompt CLI-only Pedro Alves
2014-05-29 13:44 ` [pushed] Re: [PATCH v6 0/2] enable target-async by default Pedro Alves
2014-07-01 16:28   ` Regression for attach from stdin [Re: [pushed] Re: [PATCH v6 0/2] enable target-async by default] Jan Kratochvil
2014-07-02  8:59     ` Mark Wielaard
2014-07-02  9:16       ` Pedro Alves
2014-07-03 15:39         ` Pedro Alves
2014-07-04 13:48           ` [PATCH] Fix "attach" command vs user input race [Re: Regression for attach from stdin [Re: [pushed] Re: [PATCH v6 0/2] enable target-async by default]] Pedro Alves
2014-07-04 21:13             ` Mark Wielaard
2014-07-07 16:39             ` Doug Evans [this message]
2014-07-08 15:24               ` Pedro Alves
2014-07-09 16:37                 ` Doug Evans
2014-07-09 17:09                   ` [pushed+7.8] " Pedro Alves
2014-07-29 22:03                     ` Doug Evans
2014-07-29 23:10                       ` Doug Evans
2014-07-30 12:46                         ` Pedro Alves
2014-07-30 12:38                       ` Pedro Alves
2014-07-30 16:59                         ` Doug Evans
2014-08-21 16:34                           ` [PUSHED] infcmd.c: Remove stale TODO Pedro Alves
2014-09-03  7:59                     ` Regression: GDB stopped on run with attached process (PR 17347) [Re: [pushed+7.8] Re: [PATCH] Fix "attach" command vs user input race [Re: Regression for attach from stdin [Re: [pushed] Re: [PATCH v6 0/2] enable target-async by default]]] Jan Kratochvil
2014-09-03 20:11                       ` Regression: GDB stopped on run with attached process (PR 17347) [Re: [pushed+7.8] Re: [PATCH] Fix "attach" command vs user input race Pedro Alves
2014-09-07 19:28                         ` Jan Kratochvil
2014-09-08 16:19                           ` [PATCH 1/2] testsuite: refactor spawn and wait for attach (was: Re: Regression: GDB stopped on run with attached process) Pedro Alves
2014-09-09 17:29                             ` Jan Kratochvil
2014-09-09 17:35                               ` [PATCH 1/2] testsuite: refactor spawn and wait for attach Pedro Alves
2014-09-10 21:25                                 ` Pedro Alves
2014-09-11 12:34                                   ` Pedro Alves
2014-09-08 16:27                           ` Regression: GDB stopped on run with attached process (PR 17347) [Re: [pushed+7.8] Re: [PATCH] Fix "attach" command vs user input race Pedro Alves
2014-09-09 18:25                             ` Jan Kratochvil
2014-09-11 12:36                               ` Pedro Alves
2014-09-12  7:34                                 ` [testsuite patch] runaway attach processes [Re: Regression: GDB stopped on run with attached process (PR 17347)] Jan Kratochvil
2014-09-12 10:14                                   ` Pedro Alves
2014-09-12 11:40                                     ` [commit] " Jan Kratochvil
2014-07-07 17:02             ` [PATCH] Fix "attach" command vs user input race [Re: Regression for attach from stdin [Re: [pushed] Re: [PATCH v6 0/2] enable target-async by default]] Jan Kratochvil
2014-10-05 14:00   ` Crash regression for annota1.exp w/vDSO debuginfo [Re: [pushed] Re: [PATCH v6 0/2] enable target-async by default] Jan Kratochvil
2014-10-05 14:14     ` Jan Kratochvil
2014-10-05 16:43     ` Jan Kratochvil
2014-10-09 15:48     ` Pedro Alves

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=21434.52532.737427.778289@ruffy.mtv.corp.google.com \
    --to=dje@google.com \
    --cc=gdb-patches@sourceware.org \
    --cc=jan.kratochvil@redhat.com \
    --cc=mjw@redhat.com \
    --cc=palves@redhat.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