[Lldb-commits] [PATCH] D84957: [lldb/Process/Windows] Trying to kill exited/detached process in not error
Tatyana Krasnukha via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Thu Jul 30 10:56:05 PDT 2020
tatyana-krasnukha created this revision.
tatyana-krasnukha added a reviewer: asmith.
tatyana-krasnukha added a project: LLDB.
Herald added subscribers: lldb-commits, JDevlieghere.
tatyana-krasnukha requested review of this revision.
Don't report an error, just log this happened.
This fixes a lot of "CLEANUP ERROR"s for the test-suite on Windows and makes ProcessWindows consistent with the other processes.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D84957
Files:
lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
Index: lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
===================================================================
--- lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
+++ lldb/source/Plugins/Process/Windows/Common/ProcessDebugger.cpp
@@ -227,22 +227,21 @@
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;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D84957.281989.patch
Type: text/x-patch
Size: 1653 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20200730/66b465a9/attachment.bin>
More information about the lldb-commits
mailing list