summaryrefslogtreecommitdiffstatshomepage
path: root/src/osd
diff options
context:
space:
mode:
author Sandro Ronco <sandro.ronco@gmx.com>2022-08-21 15:10:46 +0200
committer Sandro Ronco <sandro.ronco@gmx.com>2022-08-21 15:10:46 +0200
commitb080104b8efc2b4783ce75b8e2fad8ea6e619933 (patch)
tree4816951e2bf24613681d189e175ce11d8681e2eb /src/osd
parentdfcb0a614539e5993c7999711290a8a2b6940bad (diff)
debuggdbstub.cpp: implement thread alive command.
Diffstat (limited to 'src/osd')
-rw-r--r--src/osd/modules/debugger/debuggdbstub.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/osd/modules/debugger/debuggdbstub.cpp b/src/osd/modules/debugger/debuggdbstub.cpp
index 2aecd4bc6a6..485322ecc27 100644
--- a/src/osd/modules/debugger/debuggdbstub.cpp
+++ b/src/osd/modules/debugger/debuggdbstub.cpp
@@ -495,6 +495,7 @@ public:
cmd_reply handle_P(const char *buf);
cmd_reply handle_q(const char *buf);
cmd_reply handle_s(const char *buf);
+ cmd_reply handle_T(const char *buf);
cmd_reply handle_z(const char *buf);
cmd_reply handle_Z(const char *buf);
@@ -1101,6 +1102,17 @@ debug_gdbstub::cmd_reply debug_gdbstub::handle_s(const char *buf)
}
//-------------------------------------------------------------------------
+// Find out if the thread XX is alive.
+debug_gdbstub::cmd_reply debug_gdbstub::handle_T(const char *buf)
+{
+ if ( is_thread_id_ok(buf) )
+ return REPLY_OK;
+
+ // thread is dead
+ return REPLY_ENN;
+}
+
+//-------------------------------------------------------------------------
static bool remove_breakpoint(device_debug *debug, uint64_t address, int /*kind*/)
{
const debug_breakpoint *bp = debug->breakpoint_find(address);
@@ -1270,6 +1282,7 @@ void debug_gdbstub::handle_packet()
case 'P': reply = handle_P(buf); break;
case 'q': reply = handle_q(buf); break;
case 's': reply = handle_s(buf); break;
+ case 'T': reply = handle_T(buf); break;
case 'z': reply = handle_z(buf); break;
case 'Z': reply = handle_Z(buf); break;
}