aboutsummaryrefslogtreecommitdiff
path: root/gdb/infcmd.c
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2008-09-08 21:48:52 +0000
committerPedro Alves <palves@redhat.com>2008-09-08 21:48:52 +0000
commit32400bebb23653900ef060aae37668a2a1961155 (patch)
tree9b74d3a143584431a3999f0f54833aeb8cdea0b7 /gdb/infcmd.c
parent347bddb745acda8fb591511a547e66bbe00d768b (diff)
downloadgdb-32400bebb23653900ef060aae37668a2a1961155.zip
gdb-32400bebb23653900ef060aae37668a2a1961155.tar.gz
gdb-32400bebb23653900ef060aae37668a2a1961155.tar.bz2
* gdbthread.h (struct thread_info): Add comments around
proceed_to_finish. (save_infrun_state, load_infrun_state): Remove proceed_to_finish argument. * thread.c (load_infrun_state, save_infrun_state): Delete proceed_to_finish argument and references to it. * infcall.c (call_function_by_hand): Adjust. * infcmd.c (finish_command): Adjust. * infrun.c (proceed_to_finish): Delete. (clear_proceed_status): Adjust. (context_switch): Don't context-switch proceed_to_finish. (normal_stop, save_inferior_status, restore_inferior_status): Adjust.
Diffstat (limited to 'gdb/infcmd.c')
-rw-r--r--gdb/infcmd.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gdb/infcmd.c b/gdb/infcmd.c
index e197467..a86f236 100644
--- a/gdb/infcmd.c
+++ b/gdb/infcmd.c
@@ -1382,6 +1382,7 @@ finish_command (char *arg, int from_tty)
struct breakpoint *breakpoint;
struct cleanup *old_chain;
struct finish_command_continuation_args *cargs;
+ struct thread_info *tp;
int async_exec = 0;
@@ -1411,6 +1412,8 @@ finish_command (char *arg, int from_tty)
if (frame == 0)
error (_("\"finish\" not meaningful in the outermost frame."));
+ tp = inferior_thread ();
+
clear_proceed_status ();
sal = find_pc_line (get_frame_pc (frame), 0);
@@ -1432,7 +1435,7 @@ finish_command (char *arg, int from_tty)
print_stack_frame (get_selected_frame (NULL), 1, LOCATION);
}
- proceed_to_finish = 1; /* We want stop_registers, please... */
+ tp->proceed_to_finish = 1; /* We want stop_registers, please... */
make_cleanup_restore_integer (&suppress_stop_observer);
suppress_stop_observer = 1;
proceed ((CORE_ADDR) -1, TARGET_SIGNAL_DEFAULT, 0);