aboutsummaryrefslogtreecommitdiff
path: root/gdb/infcmd.c
diff options
context:
space:
mode:
authorDaniel Jacobowitz <drow@false.org>2006-01-24 22:09:28 +0000
committerDaniel Jacobowitz <drow@false.org>2006-01-24 22:09:28 +0000
commit281b533b6ced43d45f4630a47e998ec82c42e2aa (patch)
treed3027b882602baca232a429aafcf77ae886106b5 /gdb/infcmd.c
parente23fc6de1ad692fa06ce203d28bfe6244f49766e (diff)
downloadfsf-binutils-gdb-281b533b6ced43d45f4630a47e998ec82c42e2aa.zip
fsf-binutils-gdb-281b533b6ced43d45f4630a47e998ec82c42e2aa.tar.gz
fsf-binutils-gdb-281b533b6ced43d45f4630a47e998ec82c42e2aa.tar.bz2
* infcmd.c: Include "observer.h".
(post_create_inferior): New function. (run_command_1): Call it. Also call proceed. * inferior.h (post_create_inferior): New prototype. * Makefile.in (infcmd.o): Update. * gnu-nat.c (gnu_create_inferior): Don't call proceed. * go32-nat.c (go32_create_inferior): Likewise. * nto-procfs.c (procfs_create_inferior): Likewise. * procfs.c (procfs_create_inferior): Likewise. * remote-sim.c (gdbsim_create_inferior): Likewise. * remote.c (extended_remote_create_inferior) (extended_remote_async_create_inferior): Likewise. * win32-nat.c (win32_create_inferior): Likewise. * wince.c (child_create_inferior): Likewise. * monitor.c (monitor_create_inferior): Don't call proceed. Set the PC manually. * ocd.c (ocd_create_inferior): Likewise. * remote-e7000.c (e7000_create_inferior): Likewise. * remote-m32r-sdi.c (m32r_create_inferior): Likewise. * remote-mips.c (mips_create_inferior): Likewise. * remote-rdp.c (remote_rdp_create_inferior): Likewise. * remote-sds.c (sds_create_inferior): Likewise. * remote-st.c (st2000_create_inferior): Likewise. * inf-ptrace.c (inf_ptrace_create_inferior): Don't call proceed or observer_notify_inferior_created. * inf-ttrace.c (inf_ttrace_create_inferior): Likewise. * inftarg.c (child_create_inferior): Likewise.
Diffstat (limited to 'gdb/infcmd.c')
-rw-r--r--gdb/infcmd.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/gdb/infcmd.c b/gdb/infcmd.c
index fc50694..b7d0f65 100644
--- a/gdb/infcmd.c
+++ b/gdb/infcmd.c
@@ -1,7 +1,7 @@
/* Memory-access and commands for "inferior" process, for GDB.
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
- 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+ 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
This file is part of GDB.
@@ -47,6 +47,7 @@
#include "solib.h"
#include <ctype.h>
#include "gdb_assert.h"
+#include "observer.h"
/* Functions exported for general use, in inferior.h: */
@@ -397,6 +398,16 @@ tty_command (char *file, int from_tty)
set_inferior_io_terminal (file);
}
+/* Common actions to take after creating any sort of inferior, by any
+ means (running, attaching, connecting, et cetera). The target
+ should be stopped. */
+
+void
+post_create_inferior (struct target_ops *target, int from_tty)
+{
+ observer_notify_inferior_created (target, from_tty);
+}
+
/* Kill the inferior if already running. This function is designed
to be called when we are about to start the execution of the program
from the beginning. Ask the user to confirm that he wants to restart
@@ -510,6 +521,11 @@ run_command_1 (char *args, int from_tty, int tbreak_at_main)
the value now. */
target_create_inferior (exec_file, get_inferior_args (),
environ_vector (inferior_environ), from_tty);
+
+ post_create_inferior (&current_target, from_tty);
+
+ /* Start the target running. */
+ proceed ((CORE_ADDR) -1, TARGET_SIGNAL_0, 0);
}