[Lldb-commits] [lldb] e97c693 - [lldb/Process/Windows] Attempting to kill exited/detached process in not an error
Tatyana Krasnukha via lldb-commits
lldb-commits at lists.llvm.org
Mon Aug 3 02:53:24 PDT 2020
Author: Tatyana Krasnukha
Date: 2020-08-03T12:52:43+03:00
New Revision: e97c693bb0ece2d9a2b0db75034927405fe3bfdf
URL: https://github.com/llvm/llvm-project/commit/e97c693bb0ece2d9a2b0db75034927405fe3bfdf
DIFF: https://github.com/llvm/llvm-project/commit/e97c693bb0ece2d9a2b0db75034927405fe3bfdf.diff
LOG: [lldb/Process/Windows] Attempting to kill exited/detached process in not an error
The lldb test-suite on Windows reports a 'CLEANUP ERROR' when attempting to kill
an exited/detached process. This change makes ProcessWindows consistent with
the other processes which only log the error. After this change a number of
'CLEANUP ERROR' messages are now removed.
Differential Revision: https://reviews.llvm.org/D84957
Added:
Modified:
lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
Removed:
################################################################################
diff --git a/lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp b/lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
index 8a85c8ba6f4e..07a81cdf69cc 100644
--- a/lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
+++ b/lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
@@ -227,22 +227,20 @@ Status ProcessDebugger::DestroyProcess(const lldb::StateType state) {
debugger_thread = m_session_data->m_debugger;
}
- Status error;
- if (state != eStateExited && state != eStateDetached) {
- LLDB_LOG(
- log, "Shutting down process {0}.",
- debugger_thread->GetProcess().GetNativeProcess().GetSystemHandle());
- error = debugger_thread->StopDebugging(true);
-
- // By the time StopDebugging returns, there is no more debugger thread, so
- // we can be assured that no other thread will race for the session data.
- m_session_data.reset();
- } else {
- error.SetErrorStringWithFormat("cannot destroy process %" PRIx64
- " while state = %d",
- GetDebuggedProcessId(), state);
- LLDB_LOG(log, "error: {0}", error);
+ if (state == eStateExited || state == eStateDetached) {
+ LLDB_LOG(log, "warning: cannot destroy process {0} while state = {1}.",
+ GetDebuggedProcessId(), state);
+ return Status();
}
+
+ LLDB_LOG(log, "Shutting down process {0}.",
+ debugger_thread->GetProcess().GetNativeProcess().GetSystemHandle());
+ auto error = debugger_thread->StopDebugging(true);
+
+ // By the time StopDebugging returns, there is no more debugger thread, so
+ // we can be assured that no other thread will race for the session data.
+ m_session_data.reset();
+
return error;
}
More information about the lldb-commits
mailing list