aboutsummaryrefslogtreecommitdiff
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
commit6a6b96b9c2552b97902d8ef1fbbce207328eef16 (patch)
tree7293363a7d8e9395abf2407b89014b05e5b45919 /gdb/gdbthread.h
parent548061812a687d9cd46a774c81d3ce82b26043a0 (diff)
downloadgdb-6a6b96b9c2552b97902d8ef1fbbce207328eef16.zip
gdb-6a6b96b9c2552b97902d8ef1fbbce207328eef16.tar.gz
gdb-6a6b96b9c2552b97902d8ef1fbbce207328eef16.tar.bz2
* 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 d378033..aeb4a40 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;