From 1db93f14fae0b3a638324e5349fe56a0e625451e Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Wed, 23 Jan 2019 18:58:34 +0000 Subject: [PATCH] Remove cleanup from linux-nat.c This removes a cleanup from linux-nat.c, replacing it with a scope_exit. gdb/ChangeLog: 2019-01-23 Tom Tromey Pedro Alves * linux-nat.c: Include scope-exit.h. (cleanup_target_stop): Remove. (linux_nat_target::static_tracepoint_markers_by_strid): Use SCOPE_EXIT. --- gdb/ChangeLog | 8 ++++++++ gdb/linux-nat.c | 18 +++--------------- 2 files changed, 11 insertions(+), 15 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 21b72e3..4ee6051 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,6 +1,14 @@ 2019-01-23 Tom Tromey Pedro Alves + * linux-nat.c: Include scope-exit.h. + (cleanup_target_stop): Remove. + (linux_nat_target::static_tracepoint_markers_by_strid): Use + SCOPE_EXIT. + +2019-01-23 Tom Tromey + Pedro Alves + * infcall.c (cleanup_delete_std_terminate_breakpoint): Remove. (call_function_by_hand_dummy): Use SCOPE_EXIT. diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c index c0d5f8d..45da9fa 100644 --- a/gdb/linux-nat.c +++ b/gdb/linux-nat.c @@ -66,6 +66,7 @@ #include "objfiles.h" #include "nat/linux-namespaces.h" #include "fileio.h" +#include "common/scope-exit.h" #ifndef SPUFS_MAGIC #define SPUFS_MAGIC 0x23c9b64e @@ -4223,22 +4224,10 @@ linux_nat_xfer_osdata (enum target_object object, return TARGET_XFER_OK; } -static void -cleanup_target_stop (void *arg) -{ - ptid_t *ptid = (ptid_t *) arg; - - gdb_assert (arg != NULL); - - /* Unpause all */ - target_continue_no_signal (*ptid); -} - std::vector linux_nat_target::static_tracepoint_markers_by_strid (const char *strid) { char s[IPA_CMD_BUF_SIZE]; - struct cleanup *old_chain; int pid = inferior_ptid.pid (); std::vector markers; const char *p = s; @@ -4253,7 +4242,8 @@ linux_nat_target::static_tracepoint_markers_by_strid (const char *strid) agent_run_command (pid, s, strlen (s) + 1); - old_chain = make_cleanup (cleanup_target_stop, &ptid); + /* Unpause all. */ + SCOPE_EXIT { target_continue_no_signal (ptid); }; while (*p++ == 'm') { @@ -4272,8 +4262,6 @@ linux_nat_target::static_tracepoint_markers_by_strid (const char *strid) p = s; } - do_cleanups (old_chain); - return markers; } -- 2.7.4