aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
diff options
context:
space:
mode:
authorjimingham <jingham@apple.com>2023-12-07 14:36:27 -0800
committerGitHub <noreply@github.com>2023-12-07 14:36:27 -0800
commit9d3aec5535adfdeb10a400e92cecc1cc0a5e26a6 (patch)
treec5d9dec58fde1959fc921a9c476f449198e52c88 /lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
parent4a6ed4a90d6cddbbe3d25132780a72b50a457c41 (diff)
downloadllvm-9d3aec5535adfdeb10a400e92cecc1cc0a5e26a6.zip
llvm-9d3aec5535adfdeb10a400e92cecc1cc0a5e26a6.tar.gz
llvm-9d3aec5535adfdeb10a400e92cecc1cc0a5e26a6.tar.bz2
Fix a stall in running `quit` while a live process is running (#74687)
We need to generate events when finalizing, or we won't know that we succeeded in stopping the process to detach/kill. Instead, we stall and then after our 20 interrupt timeout, we kill the process (even if we were supposed to detach) and exit. OTOH, we have to not generate events when the Process is being destructed because shared_from_this has already been torn down, and using it will cause crashes.
Diffstat (limited to 'lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp')
-rw-r--r--lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp b/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
index 54b3677..66f8613 100644
--- a/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
+++ b/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp
@@ -140,7 +140,7 @@ ScriptedProcess::~ScriptedProcess() {
// make sure all of the broadcaster cleanup goes as planned. If we destruct
// this class, then Process::~Process() might have problems trying to fully
// destroy the broadcaster.
- Finalize();
+ Finalize(true /* destructing */);
}
void ScriptedProcess::Initialize() {