diff options
author | Pedro Alves <palves@redhat.com> | 2008-09-08 21:48:52 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2008-09-08 21:48:52 +0000 |
commit | 32400bebb23653900ef060aae37668a2a1961155 (patch) | |
tree | 9b74d3a143584431a3999f0f54833aeb8cdea0b7 /gdb/infcmd.c | |
parent | 347bddb745acda8fb591511a547e66bbe00d768b (diff) | |
download | gdb-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.c | 5 |
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); |