diff options
author | Brad King <brad.king@kitware.com> | 2023-06-30 13:30:02 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2023-06-30 13:30:20 (GMT) |
commit | 1cc4e97e87e93cece10da4441d40e7f13d72c91a (patch) | |
tree | a55f945b7b747afde0e89ddb792eef4a6959e665 /Source | |
parent | 1ac0dea4c8343d3f3a95b4a143fa47e4a785ff32 (diff) | |
parent | 764258771afb92067dd4b2c044d8d19abc6f932c (diff) | |
download | CMake-1cc4e97e87e93cece10da4441d40e7f13d72c91a.zip CMake-1cc4e97e87e93cece10da4441d40e7f13d72c91a.tar.gz CMake-1cc4e97e87e93cece10da4441d40e7f13d72c91a.tar.bz2 |
Merge topic 'debugger-segfault' into release-3.27
764258771a Debugger: Fix threads request segfault after thread exited event
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8604
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmDebuggerAdapter.cxx | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/Source/cmDebuggerAdapter.cxx b/Source/cmDebuggerAdapter.cxx index d03f79d..c2e0d4f 100644 --- a/Source/cmDebuggerAdapter.cxx +++ b/Source/cmDebuggerAdapter.cxx @@ -167,10 +167,16 @@ cmDebuggerAdapter::cmDebuggerAdapter( (void)req; std::unique_lock<std::mutex> lock(Mutex); dap::ThreadsResponse response; - dap::Thread thread; - thread.id = DefaultThread->GetId(); - thread.name = DefaultThread->GetName(); - response.threads.push_back(thread); + + // If a client requests threads during shutdown (like after receiving the + // thread exited event), DefaultThread won't be set. + if (DefaultThread) { + dap::Thread thread; + thread.id = DefaultThread->GetId(); + thread.name = DefaultThread->GetName(); + response.threads.push_back(thread); + } + return response; }); |