Use target_announce_detach in more targets

target_announce_detach was added in commit 0f48b757 ("Factor out
"Detaching from program" message printing").  There, Pedro wrote:

    (For now, I left the couple targets that print this a bit differently
    alone.  Maybe this could be further pulled out into infcmd.c.  If we
    did that, and those targets want to continue printing differently,
    this new function could be converted to a target method.)

It seems to me that the differences aren't very big, and in some cases
other targets handled the output a bit more nicely.  In particular,
some targets will print a different message when exec_file==NULL,
rather than printing the same output with an empty string as
exec_file.

This patch incorporates the nicer output into target_announce_detach,
then changes the remaining ports to use this function.
This commit is contained in:
Tom Tromey 2021-12-26 22:03:09 -07:00
parent bc521517b7
commit 41e321a897
4 changed files with 11 additions and 37 deletions

View file

@ -2215,16 +2215,7 @@ gnu_nat_target::attach (const char *args, int from_tty)
void
gnu_nat_target::detach (inferior *inf, int from_tty)
{
if (from_tty)
{
const char *exec_file = get_exec_file (0);
if (exec_file)
printf_unfiltered ("Detaching from program `%s' pid %d\n",
exec_file, gnu_current_inf->pid);
else
printf_unfiltered ("Detaching from pid %d\n", gnu_current_inf->pid);
}
target_announce_detach (from_tty);
inf_detach (gnu_current_inf);

View file

@ -1786,19 +1786,7 @@ procfs_target::attach (const char *args, int from_tty)
void
procfs_target::detach (inferior *inf, int from_tty)
{
int pid = inferior_ptid.pid ();
if (from_tty)
{
const char *exec_file;
exec_file = get_exec_file (0);
if (exec_file == NULL)
exec_file = "";
printf_filtered (_("Detaching from program: %s, %s\n"), exec_file,
target_pid_to_str (ptid_t (pid)).c_str ());
}
target_announce_detach (from_tty);
do_detach ();

View file

@ -3628,13 +3628,14 @@ target_announce_detach (int from_tty)
if (!from_tty)
return;
exec_file = get_exec_file (0);
if (exec_file == NULL)
exec_file = "";
pid = inferior_ptid.pid ();
printf_unfiltered (_("Detaching from program: %s, %s\n"), exec_file,
target_pid_to_str (ptid_t (pid)).c_str ());
exec_file = get_exec_file (0);
if (exec_file == nullptr)
printf_unfiltered ("Detaching from pid %s\n",
target_pid_to_str (ptid_t (pid)).c_str ());
else
printf_unfiltered (_("Detaching from program: %s, %s\n"), exec_file,
target_pid_to_str (ptid_t (pid)).c_str ());
}
/* See target.h */

View file

@ -1962,14 +1962,8 @@ windows_nat_target::detach (inferior *inf, int from_tty)
}
DebugSetProcessKillOnExit (FALSE);
if (detached && from_tty)
{
const char *exec_file = get_exec_file (0);
if (exec_file == 0)
exec_file = "";
printf_unfiltered ("Detaching from program: %s, Pid %u\n", exec_file,
(unsigned) current_event.dwProcessId);
}
if (detached)
target_announce_detach (from_tty);
x86_cleanup_dregs ();
switch_to_no_thread ();