summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-06-30 13:30:02 (GMT)
committerKitware Robot <kwrobot@kitware.com>2023-06-30 13:30:20 (GMT)
commit1cc4e97e87e93cece10da4441d40e7f13d72c91a (patch)
treea55f945b7b747afde0e89ddb792eef4a6959e665 /Source
parent1ac0dea4c8343d3f3a95b4a143fa47e4a785ff32 (diff)
parent764258771afb92067dd4b2c044d8d19abc6f932c (diff)
downloadCMake-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.cxx14
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;
});