[Lldb-commits] [PATCH] D62183: [Windows] Fix race condition between state changes
Adrian McCarthy via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Mon Jul 22 10:02:57 PDT 2019
This revision was automatically updated to reflect the committed changes.
Closed by commit rL366703: [Windows] Fix race condition between state changes (authored by amccarth, committed by ).
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.
Changed prior to commit:
https://reviews.llvm.org/D62183?vs=210365&id=211136#toc
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D62183/new/
https://reviews.llvm.org/D62183
Files:
lldb/trunk/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
Index: lldb/trunk/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
===================================================================
--- lldb/trunk/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
+++ lldb/trunk/source/Plugins/Process/Windows/Common/ProcessWindows.cpp
@@ -205,16 +205,6 @@
m_session_data->m_debugger->GetProcess().GetProcessId(),
GetPrivateState());
- ExceptionRecordSP active_exception =
- m_session_data->m_debugger->GetActiveException().lock();
- if (active_exception) {
- // Resume the process and continue processing debug events. Mask the
- // exception so that from the process's view, there is no indication that
- // anything happened.
- m_session_data->m_debugger->ContinueAsyncException(
- ExceptionResult::MaskException);
- }
-
LLDB_LOG(log, "resuming {0} threads.", m_thread_list.GetSize());
bool failed = false;
@@ -233,10 +223,19 @@
if (failed) {
error.SetErrorString("ProcessWindows::DoResume failed");
- return error;
} else {
SetPrivateState(eStateRunning);
}
+
+ ExceptionRecordSP active_exception =
+ m_session_data->m_debugger->GetActiveException().lock();
+ if (active_exception) {
+ // Resume the process and continue processing debug events. Mask the
+ // exception so that from the process's view, there is no indication that
+ // anything happened.
+ m_session_data->m_debugger->ContinueAsyncException(
+ ExceptionResult::MaskException);
+ }
} else {
LLDB_LOG(log, "error: process {0} is in state {1}. Returning...",
m_session_data->m_debugger->GetProcess().GetProcessId(),
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D62183.211136.patch
Type: text/x-patch
Size: 1728 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190722/30eff2fe/attachment.bin>
More information about the lldb-commits
mailing list