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; } _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits