aboutsummaryrefslogtreecommitdiff
path: root/gdb/infrun.c
diff options
context:
space:
mode:
authorKevin Buettner <kevinb@redhat.com>2001-05-06 22:22:03 +0000
committerKevin Buettner <kevinb@redhat.com>2001-05-06 22:22:03 +0000
commitce696e0556e9ddc48e7d049356a3c3fe6b7399d8 (patch)
tree64ca31984622469dfdf2ff37a3a142eae50f08e8 /gdb/infrun.c
parenta7c92daeedfd9d5326113d1776c6db7ed18efcc6 (diff)
downloadgdb-ce696e0556e9ddc48e7d049356a3c3fe6b7399d8.zip
gdb-ce696e0556e9ddc48e7d049356a3c3fe6b7399d8.tar.gz
gdb-ce696e0556e9ddc48e7d049356a3c3fe6b7399d8.tar.bz2
Consolidate save_inferior_ptid/restore_inferior_ptid implementation to
one source file.
Diffstat (limited to 'gdb/infrun.c')
-rw-r--r--gdb/infrun.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/gdb/infrun.c b/gdb/infrun.c
index a62a72c..21d07f2 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -4192,6 +4192,30 @@ discard_inferior_status (struct inferior_status *inf_status)
free_inferior_status (inf_status);
}
+/* Helper function for save_inferior_ptid */
+
+static void
+restore_inferior_ptid (void *arg)
+{
+ ptid_t *saved_ptid_ptr = arg;
+ inferior_ptid = *saved_ptid_ptr;
+ xfree (arg);
+}
+
+/* Save the value of inferior_ptid so that it may be restored by a
+ later call to do_cleanups(). Returns the struct cleanup pointer
+ needed for later doing the cleanup. */
+
+struct cleanup *
+save_inferior_ptid (void)
+{
+ ptid_t *saved_ptid_ptr;
+
+ saved_ptid_ptr = xmalloc (sizeof (ptid_t));
+ *saved_ptid_ptr = inferior_ptid;
+ return make_cleanup (restore_inferior_ptid, saved_ptid_ptr);
+}
+
static void
build_infrun (void)