diff options
author | Pedro Alves <pedro@palves.net> | 2022-04-04 21:12:03 +0100 |
---|---|---|
committer | Pedro Alves <pedro@palves.net> | 2023-11-13 14:16:10 +0000 |
commit | 00b0dc819d1aac88ee45b18fdb05337e01a2df67 (patch) | |
tree | 55ae956f21ac609e8a6b74abdac218aa11eb6ec4 /gdbserver/server.cc | |
parent | 6bd50ebd29883ac003fc936a5730ca55364f34e7 (diff) | |
download | gdb-00b0dc819d1aac88ee45b18fdb05337e01a2df67.zip gdb-00b0dc819d1aac88ee45b18fdb05337e01a2df67.tar.gz gdb-00b0dc819d1aac88ee45b18fdb05337e01a2df67.tar.bz2 |
all-stop/synchronous RSP support thread-exit events
Currently, GDB does not understand the THREAD_EXITED stop reply in
remote all-stop mode. There's no good reason for this, it just
happened that THREAD_EXITED was only ever reported in non-stop mode so
far. This patch teaches GDB to parse that event in all-stop RSP too.
There is no need to add a qSupported feature for this, because the
server won't send a THREAD_EXITED event unless GDB explicitly asks for
it, with QThreadEvents, or with the GDB_THREAD_OPTION_EXIT
QThreadOptions option added in the next patch.
Change-Id: Ide5d12391adf432779fe4c79526801c4a5630966
Diffstat (limited to 'gdbserver/server.cc')
-rw-r--r-- | gdbserver/server.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gdbserver/server.cc b/gdbserver/server.cc index 2a70ca6..4a312da 100644 --- a/gdbserver/server.cc +++ b/gdbserver/server.cc @@ -3045,6 +3045,7 @@ resume (struct thread_resume *actions, size_t num_actions) if (cs.last_status.kind () != TARGET_WAITKIND_EXITED && cs.last_status.kind () != TARGET_WAITKIND_SIGNALLED + && cs.last_status.kind () != TARGET_WAITKIND_THREAD_EXITED && cs.last_status.kind () != TARGET_WAITKIND_NO_RESUMED) current_thread->last_status = cs.last_status; |