From 9324bfeab9b819042ddbab4ce8918ee533db651a Mon Sep 17 00:00:00 2001 From: Andrew Burgess Date: Thu, 17 Aug 2023 10:34:27 +0100 Subject: [PATCH] gdb: remove the silent parameter from exit_inferior_1 and cleanup After the previous commit, exit_inferior_1 no longer makes use of the silent parameter. This commit removes this parameter and cleans up the callers. After doing this exit_inferior_1, exit_inferior, and exit_inferior_silent are all equivalent, so rename exit_inferior_1 to exit_inferior and delete exit_inferior_silent, update all the callers. Also I spotted the declaration exit_inferior_num_silent in inferior.h, but this function is not defined anywhere, so I deleted the declaration. There should be no user visible changes after this commit. --- gdb/bsd-kvm.c | 2 +- gdb/corelow.c | 2 +- gdb/inferior.c | 23 +++++------------------ gdb/inferior.h | 7 +++---- gdb/infrun.c | 2 +- gdb/tracectf.c | 2 +- gdb/tracefile-tfile.c | 2 +- 7 files changed, 13 insertions(+), 27 deletions(-) diff --git a/gdb/bsd-kvm.c b/gdb/bsd-kvm.c index 49041ef99bf..7fb51dcc7f2 100644 --- a/gdb/bsd-kvm.c +++ b/gdb/bsd-kvm.c @@ -154,7 +154,7 @@ bsd_kvm_target::close () bsd_kvm_corefile.clear (); switch_to_no_thread (); - exit_inferior_silent (current_inferior ()); + exit_inferior (current_inferior ()); } static LONGEST diff --git a/gdb/corelow.c b/gdb/corelow.c index 46bb1077b6d..4d692dc53e6 100644 --- a/gdb/corelow.c +++ b/gdb/corelow.c @@ -328,7 +328,7 @@ core_target::clear_core () { switch_to_no_thread (); /* Avoid confusion from thread stuff. */ - exit_inferior_silent (current_inferior ()); + exit_inferior (current_inferior ()); /* Clear out solib state while the bfd is still open. See comments in clear_solib in solib.c. */ diff --git a/gdb/inferior.c b/gdb/inferior.c index 7220b704f20..cf4caa923cf 100644 --- a/gdb/inferior.c +++ b/gdb/inferior.c @@ -301,11 +301,10 @@ notify_inferior_disappeared (inferior *inf) gdb::observers::inferior_exit.notify (inf); } -/* If SILENT then be quiet -- don't announce a inferior exit, or the - exit of its threads. */ +/* See inferior.h. */ -static void -exit_inferior_1 (struct inferior *inf, int silent) +void +exit_inferior (struct inferior *inf) { inf->clear_thread_list (); @@ -335,27 +334,15 @@ exit_inferior_1 (struct inferior *inf, int silent) reinit_frame_cache (); } -void -exit_inferior (inferior *inf) -{ - exit_inferior_1 (inf, 0); -} - -void -exit_inferior_silent (inferior *inf) -{ - exit_inferior_1 (inf, 1); -} - /* See inferior.h. */ void detach_inferior (inferior *inf) { - /* Save the pid, since exit_inferior_1 will reset it. */ + /* Save the pid, since exit_inferior will reset it. */ int pid = inf->pid; - exit_inferior_1 (inf, 0); + exit_inferior (inf); if (print_inferior_events) gdb_printf (_("[Inferior %d (%s) detached]\n"), diff --git a/gdb/inferior.h b/gdb/inferior.h index c8429b86268..04672582984 100644 --- a/gdb/inferior.h +++ b/gdb/inferior.h @@ -704,12 +704,11 @@ extern void delete_inferior (struct inferior *todel); /* Delete an existing inferior list entry, due to inferior detaching. */ extern void detach_inferior (inferior *inf); +/* Notify observers and interpreters that INF has gone away. Reset the INF + object back to an default, empty, state. Clear register and frame + caches. */ extern void exit_inferior (inferior *inf); -extern void exit_inferior_silent (inferior *inf); - -extern void exit_inferior_num_silent (int num); - extern void inferior_appeared (struct inferior *inf, int pid); /* Search function to lookup an inferior of TARG by target 'pid'. */ diff --git a/gdb/infrun.c b/gdb/infrun.c index 72852e63906..4730d290442 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -1328,7 +1328,7 @@ follow_exec (ptid_t ptid, const char *exec_file_target) following_inferior = add_inferior_with_spaces (); swap_terminal_info (following_inferior, execing_inferior); - exit_inferior_silent (execing_inferior); + exit_inferior (execing_inferior); following_inferior->pid = pid; } diff --git a/gdb/tracectf.c b/gdb/tracectf.c index 0ed2092c32b..1f3ec58227f 100644 --- a/gdb/tracectf.c +++ b/gdb/tracectf.c @@ -1187,7 +1187,7 @@ ctf_target::close () trace_dirname.reset (); switch_to_no_thread (); /* Avoid confusion from thread stuff. */ - exit_inferior_silent (current_inferior ()); + exit_inferior (current_inferior ()); trace_reset_local_state (); } diff --git a/gdb/tracefile-tfile.c b/gdb/tracefile-tfile.c index 59055e7ea1a..3440f375021 100644 --- a/gdb/tracefile-tfile.c +++ b/gdb/tracefile-tfile.c @@ -616,7 +616,7 @@ tfile_target::close () gdb_assert (trace_fd != -1); switch_to_no_thread (); /* Avoid confusion from thread stuff. */ - exit_inferior_silent (current_inferior ()); + exit_inferior (current_inferior ()); ::close (trace_fd); trace_fd = -1; -- 2.30.2