diff options
author | Pedro Alves <palves@redhat.com> | 2009-01-18 17:42:16 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2009-01-18 17:42:16 +0000 |
commit | 29f49a6a4f3f165090de6c85fdb0f29dcb579ae7 (patch) | |
tree | 5af7a780ad9ac00b0d292c3f4b1bf92d173a3d5b /gdb/gdbthread.h | |
parent | e7243d734732b21fd5b2323fa4e727e4b56c0b79 (diff) | |
download | gdb-29f49a6a4f3f165090de6c85fdb0f29dcb579ae7.zip gdb-29f49a6a4f3f165090de6c85fdb0f29dcb579ae7.tar.gz gdb-29f49a6a4f3f165090de6c85fdb0f29dcb579ae7.tar.bz2 |
PR gdb/9747:
* gdbthread.h (finish_thread_state, finish_thread_state_cleanup):
Declare.
* thread.c (finish_thread_state, finish_thread_state_cleanup): New.
* infrun.c (wait_for_inferior, fetch_inferior_event): If an error
is thrown while handling an event, finish the thread state.
(normal_stop): Use finish_thread_state cleanup.
* infcmd.c (run_command_1): If an error is thrown while starting
the inferior, finish the thread state.
Diffstat (limited to 'gdb/gdbthread.h')
-rw-r--r-- | gdb/gdbthread.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gdb/gdbthread.h b/gdb/gdbthread.h index ab952471..3a405a8 100644 --- a/gdb/gdbthread.h +++ b/gdb/gdbthread.h @@ -288,6 +288,23 @@ extern void set_executing (ptid_t ptid, int executing); /* Reports if thread PTID is executing. */ extern int is_executing (ptid_t ptid); +/* Merge the executing property of thread PTID over to its thread + state property (frontend running/stopped view). + + "not executing" -> "stopped" + "executing" -> "running" + "exited" -> "exited" + + If PIDGET (PTID) is -1, go over all threads. + + Notifications are only emitted if the thread state did change. */ +extern void finish_thread_state (ptid_t ptid); + +/* Same as FINISH_THREAD_STATE, but with an interface suitable to be + registered as a cleanup. PTID_P points to the ptid_t that is + passed to FINISH_THREAD_STATE. */ +extern void finish_thread_state_cleanup (void *ptid_p); + /* Commands with a prefix of `thread'. */ extern struct cmd_list_element *thread_cmd_list; |