Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Eli Zaretskii via Gdb-patches <gdb-patches@sourceware.org>
To: Pedro Alves <pedro@palves.net>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH v2 16/16] Document pseudo-terminal and interrupting changes
Date: Wed, 16 Jun 2021 15:29:24 +0300	[thread overview]
Message-ID: <837diu2dsr.fsf@gnu.org> (raw)
In-Reply-To: <17e0328a-0404-676a-e5e3-fc753e0db979@palves.net> (message from Pedro Alves on Wed, 16 Jun 2021 10:31:27 +0100)

> From: Pedro Alves <pedro@palves.net>
> Cc: gdb-patches@sourceware.org
> Date: Wed, 16 Jun 2021 10:31:27 +0100
> 
> >> +On such systems, in some cases, like for example if you need to run
> >> +your program and then detach it, and you want the program to remain
> >> +associated with a terminal, you may prefer that @value{GDBN} starts
> >> +your program using the same device for standard input and output as
> >> +@value{GDBN} is using.
> > IMHO, this is a misfeature.  If the terminal from which GDB was run
> > remains on the system, it would be an unpleasant surprise for the user
> > that the program gets hit by SIGHUP when you detach.  I think we
> > should try to avoid this side effect, if that's feasible.
> > 
> 
> Hmm, I'm not sure I follow what you're saying here, maybe I'm misunderstanding.
> 
> We no longer get a SIGHUP on detach, that was fixed on v2.  What the text is saying now is
> different: because when you start your program with "run", the terminal the inferior is
> associated with was created by GDB, when you "detach", GDB destroys the terminal.  The
> result is that the program you detached from loses its terminal.

I understood that, and this is what I was calling "a misfeature"
above.

> From the detached
> program's perspective, it's the same as with current GDB when you do "run", then "detach",
> and then close the GDB terminal.

_Technically_ it is the same.  But from the user POV, it isn't, not
unless the user closes the terminal from which he/she invoked GDB.  As
long as that terminal stays, the user might be surprised to see the
program behaving as if the terminal was closed.

> If you really need to do "run" and then "detach" for some reason, _and_ you want
> your program to have a terminal, you should start the program with a specified
> terminal, like:
> 
>  - start the program outside gdb, and then use "attach".  Make sure the terminal
>    you started the program at remains alive.
> 
>  - use the "tty" command to tell GDB to start the program on some specified terminal 
>    (which will outlive gdb and gdb's terminal)
> 
> If you're sure gdb's terminal will stay around, and you want to tell GDB to start
> the program on that terminal, you can use the "tty /dev/tty" command before starting
> the program.

I understand.  Your description is clear.  I'm saying that it would be
good to avoid this side effect, if possible.  If not, users will have
to live with it.

  reply	other threads:[~2021-06-16 12:29 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-14 21:23 [PATCH v2 00/16] Interrupting programs that block/ignore SIGINT Pedro Alves
2021-06-14 21:23 ` [PATCH v2 01/16] Test interrupting programs that block SIGINT [gdb/9425, gdb/14559] Pedro Alves
2021-06-14 21:23 ` [PATCH v2 02/16] prefork_hook: Remove 'args' parameter Pedro Alves
2021-06-14 21:23 ` [PATCH v2 03/16] Make gdb.base/long-inferior-output.exp fail fast Pedro Alves
2021-06-14 21:23 ` [PATCH v2 04/16] Fix gdb.multi/multi-term-settings.exp race Pedro Alves
2021-06-14 21:23 ` [PATCH v2 05/16] Don't check parent pid in gdb.threads/{ia64-sigill, siginfo-threads, watchthreads-reorder}.c Pedro Alves
2021-06-14 21:24 ` [PATCH v2 06/16] Special-case "set inferior-tty /dev/tty" Pedro Alves
2021-06-14 21:24 ` [PATCH v2 07/16] Make inferior/GDB share terminal in tests expecting output after detach Pedro Alves
2021-06-14 21:24 ` [PATCH v2 08/16] Make inferior/GDB share terminal in tests that exercise GDB/inferior reading same input Pedro Alves
2021-06-14 21:24 ` [PATCH v2 09/16] gdb.mi/mi-logging.exp, don't send input to GDB while the inferior is running Pedro Alves
2021-06-14 21:24 ` [PATCH v2 10/16] target_terminal::ours_for_output before printing signal received Pedro Alves
2021-06-14 21:24 ` [PATCH v2 11/16] Move scoped_ignore_sigttou to gdbsupport/ Pedro Alves
2021-06-17 21:49   ` Pedro Alves
2021-06-14 21:24 ` [PATCH v2 12/16] Always put inferiors in their own terminal/session [gdb/9425, gdb/14559] Pedro Alves
2021-06-14 21:24 ` [PATCH v2 13/16] exists_non_stop_target: Avoid flushing frames Pedro Alves
2021-06-14 21:24 ` [PATCH v2 14/16] convert previous_inferior_ptid to strong reference to thread_info Pedro Alves
2021-06-14 21:24 ` [PATCH v2 15/16] GNU/Linux: Interrupt/Ctrl-C with SIGSTOP instead of SIGINT [PR gdb/9425, PR gdb/14559] Pedro Alves
2021-07-08 23:05   ` Maciej W. Rozycki
2021-07-13 15:26     ` Pedro Alves
2021-06-14 21:24 ` [PATCH v2 16/16] Document pseudo-terminal and interrupting changes Pedro Alves
2021-06-15 12:56   ` Eli Zaretskii via Gdb-patches
2021-06-16  9:31     ` Pedro Alves
2021-06-16 12:29       ` Eli Zaretskii via Gdb-patches [this message]
2021-06-16 10:15     ` Pedro Alves
2021-06-16 12:15       ` Eli Zaretskii via Gdb-patches
2021-06-16 12:26         ` Pedro Alves
2021-06-16 13:05           ` Eli Zaretskii via Gdb-patches
2021-06-15 12:34 ` [PATCH v2 00/16] Interrupting programs that block/ignore SIGINT Eli Zaretskii via Gdb-patches
2021-06-16 11:27   ` Pedro Alves
2021-06-16 12:45     ` Eli Zaretskii via Gdb-patches
2021-06-18 10:12 ` Andrew Burgess
2021-06-24 18:12 ` Konstantin Kharlamov via Gdb-patches
2021-06-24 18:55   ` Pedro Alves
2021-06-29  1:15     ` Eldar Abusalimov via Gdb-patches

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=837diu2dsr.fsf@gnu.org \
    --to=gdb-patches@sourceware.org \
    --cc=eliz@gnu.org \
    --cc=pedro@palves.net \
    /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