diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2007-09-10 18:49:26 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2007-09-10 18:49:26 +0000 |
commit | 2eddd513bffe2d99bc8ccf1c4c1aabf80ec4d441 (patch) | |
tree | 41c3f39c8d5005436131a5262c28ec701050ce9a /gdb/gdbthread.h | |
parent | 0d4c496a650a646af592f825dcfa0369cf5d267a (diff) | |
download | gdb-2eddd513bffe2d99bc8ccf1c4c1aabf80ec4d441.tar.gz |
* infrun.c (stepping_past_breakpoint): New global variable.
(stepping_past_breakpoint_ptid): Likewise.
(prepare_to_proceed): Add STEP parameter. Do not check for Ctrl-C.
Only switch threads if we need to single-step over a breakpoint hit
in the previously selected thread. If stepping, remember previous
thread to switch back to in STEPPING_PAST_BREAKPOINT[_PTID]. Call
switch_to_thread instead of copying its contents.
(proceed): Pass STEP to prepare_to_proceed. Always set ONEPROC if
prepare_to_proceed returns true.
(init_wait_for_inferior): Reset STEPPING_PAST_BREAKPOINT.
(context_switch): Call switch_to_thread.
(handle_inferior_event): Switch back to previous thread if requested
in STEPPING_PAST_BREAKPOINT[_PTID] by prepare_to_proceed.
* gdbthread.h (switch_to_thread): Add prototype.
* thread.c (switch_to_thread): Make global.
Diffstat (limited to 'gdb/gdbthread.h')
-rw-r--r-- | gdb/gdbthread.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gdb/gdbthread.h b/gdb/gdbthread.h index d37803368a8..aeb4a408ff2 100644 --- a/gdb/gdbthread.h +++ b/gdb/gdbthread.h @@ -135,6 +135,9 @@ extern void load_infrun_state (ptid_t ptid, int *current_line, struct symtab **current_symtab); +/* Switch from one thread to another. */ +extern void switch_to_thread (ptid_t ptid); + /* Commands with a prefix of `thread'. */ extern struct cmd_list_element *thread_cmd_list; |