public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 0/4] Introduce scoped_ignore_signal & make it thread safe
@ 2021-06-15 11:14 Pedro Alves
  2021-06-15 11:14 ` [PATCH 1/4] Move scoped_ignore_sigttou to gdbsupport/ Pedro Alves
                   ` (5 more replies)
  0 siblings, 6 replies; 19+ messages in thread
From: Pedro Alves @ 2021-06-15 11:14 UTC (permalink / raw)
  To: gdb-patches

For the Ctrl-C rework series I posted recently, I stared at code using
scoped_ignore_sigttou a lot, and it annoyed me that it isn't thread
safe, because it changes the signal's disposition.

Very recently, we got a new scoped_ignore_sigpipe class modelled on
scoped_ignore_sigttou, which made me want to fix this before it ever
becomes a (hard to debug) problem.  I mentioned this here:

 https://sourceware.org/pipermail/gdb-patches/2021-June/179958.html

This series then:

  - Moves scoped_ignore_sigttou to gdbsupport/.  This patch is
    actually included in my Ctrl-C series too, I just borrowed it from
    there.

  - Introduces a scoped_ignore_signal template, to be used by both
    scoped_ignore_sigpipe and scoped_ignore_sigttou.

  - Makes scoped_ignore_signal thread-safe, by using sigprocmask +
    sigtimedwait.

  - Adds a scoped_ignore_sigpipe unit test.

You can also find this in the users/palves/scoped_ignore_signal
branch.

Pedro Alves (4):
  Move scoped_ignore_sigttou to gdbsupport/
  Introduce scoped_restore_signal
  scoped_ignore_signal: Use sigprocmask+sigtimedwait instead of signal
  Add a unit test for scoped_ignore_sigpipe

 gdb/Makefile.in                               |   2 +-
 gdb/compile/compile.c                         |  29 +---
 gdb/inf-ptrace.c                              |   1 -
 gdb/inflow.c                                  |   2 +-
 gdb/procfs.c                                  |   1 -
 gdb/ser-unix.c                                |   2 +-
 .../scoped_ignore_signal-selftests.c          | 125 ++++++++++++++++++
 gdbsupport/scoped_ignore_signal.h             |  97 ++++++++++++++
 .../scoped_ignore_sigttou.h                   |  56 +++++---
 9 files changed, 266 insertions(+), 49 deletions(-)
 create mode 100644 gdb/unittests/scoped_ignore_signal-selftests.c
 create mode 100644 gdbsupport/scoped_ignore_signal.h
 rename gdb/inflow.h => gdbsupport/scoped_ignore_sigttou.h (51%)


base-commit: c8795e1f2f4d8617f22c3bd40dad75c75482e164
-- 
2.26.2


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2021-06-27 19:01 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-15 11:14 [PATCH 0/4] Introduce scoped_ignore_signal & make it thread safe Pedro Alves
2021-06-15 11:14 ` [PATCH 1/4] Move scoped_ignore_sigttou to gdbsupport/ Pedro Alves
2021-06-15 11:14 ` [PATCH 2/4] Introduce scoped_restore_signal Pedro Alves
2021-06-17 14:57   ` Pedro Alves
2021-06-15 11:14 ` [PATCH 3/4] scoped_ignore_signal: Use sigprocmask+sigtimedwait instead of signal Pedro Alves
2021-06-26 12:35   ` Simon Marchi
2021-06-26 13:41     ` John Baldwin
2021-06-26 19:10       ` Simon Marchi
2021-06-27 14:55       ` Pedro Alves
2021-06-27 19:01         ` Simon Marchi
2021-06-15 11:14 ` [PATCH 4/4] Add a unit test for scoped_ignore_sigpipe Pedro Alves
2021-06-15 22:26   ` Lancelot SIX
2021-06-17 13:00     ` Pedro Alves
2021-06-15 17:04 ` [PATCH 0/4] Introduce scoped_ignore_signal & make it thread safe John Baldwin
2021-06-17 14:38   ` Pedro Alves
2021-06-17 15:36     ` Pedro Alves
2021-06-17 16:45       ` John Baldwin
2021-06-17 18:44         ` [pushed] Don't call sigtimedwait for scoped_ignore_sigttou Pedro Alves
2021-06-15 20:16 ` [PATCH 0/4] Introduce scoped_ignore_signal & make it thread safe Tom Tromey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).