Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <pedro@palves.net>
To: Eli Zaretskii <eliz@gnu.org>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH 00/17] Interrupting programs that block/ignore SIGINT
Date: Mon, 14 Jun 2021 17:29:17 +0100	[thread overview]
Message-ID: <1479d356-0155-3324-a92b-14321e5ef759@palves.net> (raw)
In-Reply-To: <83mtru6o8g.fsf@gnu.org>

Yes, of course, I just needed some time to think about your comments and
experiment with an idea.  I'll be replying soon.  Please don't take my silence
as ignoring you.  I'm taking you very seriously, as I always do.

On 2021-06-13 11:41 a.m., Eli Zaretskii wrote:
> Ping!  I don't think I received any responses for the below.  Can we
> please discuss this?  TIA.
> 
>> From: eliz@gnu.org (Eli Zaretskii)
>> Date: Thu, 03 Jun 2021 22:51:05 +0300
>>
>>> From: Pedro Alves <pedro@palves.net>
>>> Date: Thu,  3 Jun 2021 20:02:26 +0100
>>>
>>> Currently, on GNU/Linux, it is not possible to interrupt with Ctrl-C
>>> programs that block or ignore SIGINT, with e.g., sigprocmask or
>>> signal(SIGINT, SIG_IGN).  You type Ctrl-C, but nothing happens.
>>
>> I'm not sure I understand why this is a problem.  If a debuggee blocks
>> or ignores SIGINT, then SIGINT cannot be used to stop it, neither when
>> it runs outside the debugger nor when it runs under a debugger.  There
>> are enough other methods to stop such a debuggee (e.g., send it a
>> different signal), but basically such a program clearly tells that it
>> doesn't want to be interrupted by SIGINT, period.
>>
>> Btw, what about programs that install a SIGINT handler that does
>> something when SIGINT is delivered, but don't block or ignore SIGINT?
>>
>>> Similarly, if a program uses sigwait to wait for SIGINT, and the
>>> program receives a SIGINT, the SIGINT is _not_ intercepted by ptrace,
>>> it goes straight to the inferior.
>>
>> This sounds like a more serious issue, but how many programs use this
>> technique?
>>
>> I guess what I'm asking is whether these issues really justify the
>> complications of setting up a separate terminal.  The fact that the
>> inferior could be stopped by a different signal, the fact that it
>> could be hit by SIGHUP, the fact that users will need to decide
>> whether or not they use the separate-terminal method (which will be
>> the default, a backward-incompatible change) -- are all these
>> complications really worth the (IMO) minor issues they solve?
>>
>> Thanks.
>>
> 


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

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

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=1479d356-0155-3324-a92b-14321e5ef759@palves.net \
    --to=pedro@palves.net \
    --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