aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alves <pedro@palves.net>2022-12-12 20:30:59 +0000
committerAndrew Burgess <aburgess@redhat.com>2023-08-23 09:57:38 +0100
commit604fe2d97f7df4343cace1c2bc42f8726a0657bf (patch)
tree5131e8414b938216d8f73428fd65b3b607382cfc
parent951dbdfeec44d8d2971b155f17edff09d6f1a67a (diff)
downloadgdb-604fe2d97f7df4343cace1c2bc42f8726a0657bf.zip
gdb-604fe2d97f7df4343cace1c2bc42f8726a0657bf.tar.gz
gdb-604fe2d97f7df4343cace1c2bc42f8726a0657bf.tar.bz2
gdb: make inferior::clear_thread_list always silent
After this commit: commit a78ef8757418105c35685c5d82b9fdf79459321b Date: Wed Jun 22 18:10:00 2022 +0100 Always emit =thread-exited notifications, even if silent The function mi_interp::on_thread_exited (or mi_thread_exit as the function was called back then) no longer makes use of the "silent" parameter. As a result there is no difference between inferior::clear_thread_list with silent true or false, because: - None of the interpreter ::on_thread_exited functions rely on the silent parameter, and - None of GDB's thread_exit observers rely on the silent parameter either. This commit removes the silent parameter from inferior::clear_thread_list, and makes the function always silent. This commit was originally part of a larger series: https://inbox.sourceware.org/gdb-patches/20221212203101.1034916-1-pedro@palves.net/ But didn't really need to be part of that series. I had an interest in seeing this patch merged: https://inbox.sourceware.org/gdb-patches/20221212203101.1034916-31-pedro@palves.net/ Which also didn't really need to be part of the larger series, but does depend, at least a little, on this commit. In order to get the fix I'm interested in merged quicker, I (Andrew Burgess) have rebased this commit outside of the original series. Any bugs introduced while splitting this patch out and rebasing, are entirely my own. There should be no user visible changes after this commit. Co-Authored-By: Andrew Burgess <aburgess@redhat.com>
-rw-r--r--gdb/inferior.c12
-rw-r--r--gdb/inferior.h5
-rw-r--r--gdb/thread.c2
3 files changed, 9 insertions, 10 deletions
diff --git a/gdb/inferior.c b/gdb/inferior.c
index eee4785..7220b70 100644
--- a/gdb/inferior.c
+++ b/gdb/inferior.c
@@ -247,13 +247,13 @@ inferior::find_thread (ptid_t ptid)
/* See inferior.h. */
void
-inferior::clear_thread_list (bool silent)
+inferior::clear_thread_list ()
{
thread_list.clear_and_dispose ([=] (thread_info *thr)
{
- threads_debug_printf ("deleting thread %s, silent = %d",
- thr->ptid.to_string ().c_str (), silent);
- set_thread_exited (thr, silent);
+ threads_debug_printf ("deleting thread %s",
+ thr->ptid.to_string ().c_str ());
+ set_thread_exited (thr, true /* silent */);
if (thr->deletable ())
delete thr;
});
@@ -272,7 +272,7 @@ notify_inferior_removed (inferior *inf)
void
delete_inferior (struct inferior *inf)
{
- inf->clear_thread_list (true);
+ inf->clear_thread_list ();
auto it = inferior_list.iterator_to (*inf);
inferior_list.erase (it);
@@ -307,7 +307,7 @@ notify_inferior_disappeared (inferior *inf)
static void
exit_inferior_1 (struct inferior *inf, int silent)
{
- inf->clear_thread_list (silent);
+ inf->clear_thread_list ();
notify_inferior_disappeared (inf);
diff --git a/gdb/inferior.h b/gdb/inferior.h
index 7457835..c8429b8 100644
--- a/gdb/inferior.h
+++ b/gdb/inferior.h
@@ -496,9 +496,8 @@ public:
/* Find (non-exited) thread PTID of this inferior. */
thread_info *find_thread (ptid_t ptid);
- /* Delete all threads in the thread list. If SILENT, exit threads
- silently. */
- void clear_thread_list (bool silent);
+ /* Delete all threads in the thread list, silently. */
+ void clear_thread_list ();
/* Continuations-related methods. A continuation is an std::function
to be called to finish the execution of a command when running
diff --git a/gdb/thread.c b/gdb/thread.c
index 63ed87e..2cb9e5e 100644
--- a/gdb/thread.c
+++ b/gdb/thread.c
@@ -246,7 +246,7 @@ init_thread_list (void)
highest_thread_num = 0;
for (inferior *inf : all_inferiors ())
- inf->clear_thread_list (true);
+ inf->clear_thread_list ();
}
/* Allocate a new thread of inferior INF with target id PTID and add