aboutsummaryrefslogtreecommitdiff
path: root/gdb/mi
diff options
context:
space:
mode:
authorVladimir Prus <vladimir@codesourcery.com>2009-03-12 20:08:04 +0000
committerVladimir Prus <vladimir@codesourcery.com>2009-03-12 20:08:04 +0000
commit1f31650a613dfe2ba24b6c61b7f6af54267e109d (patch)
tree51560c0d9408d958f6607a9d838ba37d759aad5b /gdb/mi
parent4333ada327bfce18df7d41eaff019fe560fda084 (diff)
downloadgdb-1f31650a613dfe2ba24b6c61b7f6af54267e109d.zip
gdb-1f31650a613dfe2ba24b6c61b7f6af54267e109d.tar.gz
gdb-1f31650a613dfe2ba24b6c61b7f6af54267e109d.tar.bz2
Include token in ^running notification for CLI commands.
* mi/mi-main.c (mi_execute_command): Set current_token here. (mi_cmd_execute): Do not set current_token here.
Diffstat (limited to 'gdb/mi')
-rw-r--r--gdb/mi/mi-main.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c
index 2873b4d..97a136b 100644
--- a/gdb/mi/mi-main.c
+++ b/gdb/mi/mi-main.c
@@ -1137,11 +1137,15 @@ mi_cmd_list_target_features (char *command, char **argv, int argc)
static void
captured_mi_execute_command (struct ui_out *uiout, void *data)
{
+ struct cleanup *cleanup;
struct mi_parse *context = (struct mi_parse *) data;
if (do_timings)
current_command_ts = context->cmd_start;
+ current_token = xstrdup (context->token);
+ cleanup = make_cleanup (free_current_contents, &current_token);
+
running_result_record_printed = 0;
switch (context->op)
{
@@ -1216,6 +1220,8 @@ captured_mi_execute_command (struct ui_out *uiout, void *data)
}
+ do_cleanups (cleanup);
+
return;
}
@@ -1310,10 +1316,9 @@ mi_cmd_execute (struct mi_parse *parse)
{
struct cleanup *cleanup;
int i;
- free_all_values ();
- current_token = xstrdup (parse->token);
- cleanup = make_cleanup (free_current_contents, &current_token);
+ free_all_values ();
+ cleanup = make_cleanup (null_cleanup, NULL);
if (parse->frame != -1 && parse->thread == -1)
error (_("Cannot specify --frame without --thread"));