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  <tom@tromey.com>
	    Pedro Alves  <palves@redhat.com>

	* linux-nat.c: Include scope-exit.h.
	(cleanup_target_stop): Remove.
	(linux_nat_target::static_tracepoint_markers_by_strid): Use
	SCOPE_EXIT.
This commit is contained in:
Tom Tromey 2019-01-23 18:58:34 +00:00 committed by Pedro Alves
parent 2cc83d1e0e
commit 1db93f14fa
2 changed files with 11 additions and 15 deletions

View File

@ -1,3 +1,11 @@
2019-01-23 Tom Tromey <tom@tromey.com>
Pedro Alves <palves@redhat.com>
* 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 <tom@tromey.com>
Pedro Alves <palves@redhat.com>

View File

@ -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<static_tracepoint_marker>
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<static_tracepoint_marker> 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;
}