[gdb] Eliminate catch(...) in pipe_command

Remove duplicate code in pipe_command using SCOPE_EXIT.

Tested on aarch64-linux.

Approved-By: Tom Tromey <tom@tromey.com>
This commit is contained in:
Tom de Vries 2024-09-24 13:57:55 +02:00
parent f3f21aa9f9
commit 58706ec737

View File

@ -1118,19 +1118,14 @@ pipe_command (const char *arg, int from_tty)
if (to_shell_command == nullptr)
error (_("Error launching \"%s\""), shell_command);
try
{
stdio_file pipe_file (to_shell_command);
int exit_status;
{
SCOPE_EXIT { exit_status = pclose (to_shell_command); };
execute_command_to_ui_file (&pipe_file, gdb_cmd.c_str (), from_tty);
}
catch (...)
{
pclose (to_shell_command);
throw;
}
stdio_file pipe_file (to_shell_command);
int exit_status = pclose (to_shell_command);
execute_command_to_ui_file (&pipe_file, gdb_cmd.c_str (), from_tty);
}
if (exit_status < 0)
error (_("shell command \"%s\" failed: %s"), shell_command,