summaryrefslogtreecommitdiff
path: root/gdb/gdbthread.h
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2007-09-10 18:49:26 +0000
committerUlrich Weigand <uweigand@de.ibm.com>2007-09-10 18:49:26 +0000
commit2eddd513bffe2d99bc8ccf1c4c1aabf80ec4d441 (patch)
tree41c3f39c8d5005436131a5262c28ec701050ce9a /gdb/gdbthread.h
parent0d4c496a650a646af592f825dcfa0369cf5d267a (diff)
downloadgdb-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.h3
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;