* remote.c (remote_disconnect): Add TARGET argument.

* target.c (debug_to_disconnect): Delete.
	(update_current_target): Do not inherit to_disconnect.
	(target_disconnect): Search for a target to implement to_disconnect.
	(setup_target_debug): Do not reference to_disconnect.
	* target.h (struct target_ops): Add target argument to
	to_disconnect.
This commit is contained in:
Daniel Jacobowitz
2006-05-05 20:08:45 +00:00
parent 1f3c39b9e6
commit 597320e75b
4 changed files with 26 additions and 20 deletions

View File

@@ -97,8 +97,6 @@ static void debug_to_attach (char *, int);
static void debug_to_detach (char *, int);
static void debug_to_disconnect (char *, int);
static void debug_to_resume (ptid_t, int, enum target_signal);
static ptid_t debug_to_wait (ptid_t, struct target_waitstatus *);
@@ -388,7 +386,7 @@ update_current_target (void)
INHERIT (to_attach, t);
INHERIT (to_post_attach, t);
INHERIT (to_detach, t);
INHERIT (to_disconnect, t);
/* Do not inherit to_disconnect. */
INHERIT (to_resume, t);
INHERIT (to_wait, t);
INHERIT (to_fetch_registers, t);
@@ -483,9 +481,6 @@ update_current_target (void)
de_fault (to_detach,
(void (*) (char *, int))
target_ignore);
de_fault (to_disconnect,
(void (*) (char *, int))
tcomplain);
de_fault (to_resume,
(void (*) (ptid_t, int, enum target_signal))
noprocess);
@@ -1490,7 +1485,19 @@ target_detach (char *args, int from_tty)
void
target_disconnect (char *args, int from_tty)
{
(current_target.to_disconnect) (args, from_tty);
struct target_ops *t;
for (t = current_target.beneath; t != NULL; t = t->beneath)
if (t->to_disconnect != NULL)
{
if (targetdebug)
fprintf_unfiltered (gdb_stdlog, "target_disconnect (%s, %d)\n",
args, from_tty);
t->to_disconnect (t, args, from_tty);
return;
}
tcomplain ();
}
int
@@ -1906,15 +1913,6 @@ debug_to_detach (char *args, int from_tty)
fprintf_unfiltered (gdb_stdlog, "target_detach (%s, %d)\n", args, from_tty);
}
static void
debug_to_disconnect (char *args, int from_tty)
{
debug_target.to_disconnect (args, from_tty);
fprintf_unfiltered (gdb_stdlog, "target_disconnect (%s, %d)\n",
args, from_tty);
}
static void
debug_to_resume (ptid_t ptid, int step, enum target_signal siggnal)
{
@@ -2521,7 +2519,6 @@ setup_target_debug (void)
current_target.to_attach = debug_to_attach;
current_target.to_post_attach = debug_to_post_attach;
current_target.to_detach = debug_to_detach;
current_target.to_disconnect = debug_to_disconnect;
current_target.to_resume = debug_to_resume;
current_target.to_wait = debug_to_wait;
current_target.to_fetch_registers = debug_to_fetch_registers;
@@ -2569,7 +2566,6 @@ setup_target_debug (void)
current_target.to_enable_exception_callback = debug_to_enable_exception_callback;
current_target.to_get_current_exception_event = debug_to_get_current_exception_event;
current_target.to_pid_to_exec_file = debug_to_pid_to_exec_file;
}