From 1019695b38bf65ad7d54faa62466cc7b67267aea Mon Sep 17 00:00:00 2001 From: Zachary Turner Date: Mon, 17 Nov 2014 21:31:30 +0000 Subject: Move the thread logic around to fit better into LLDB's process model. Previously we were directly updating the thread list and stopping and restarting the process every time threads were created. With this patch, we queue up thread launches and thread exits, resolve these all internally, and only update the threads when we get an UpdateThreadList call. We now only update the private state on an actual stop (i.e. breakpoint). llvm-svn: 222178 --- lldb/source/Plugins/Process/Windows/DebuggerThread.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'lldb/source/Plugins/Process/Windows/DebuggerThread.cpp') diff --git a/lldb/source/Plugins/Process/Windows/DebuggerThread.cpp b/lldb/source/Plugins/Process/Windows/DebuggerThread.cpp index ac191c40e06..2c3ca6f0bf6 100644 --- a/lldb/source/Plugins/Process/Windows/DebuggerThread.cpp +++ b/lldb/source/Plugins/Process/Windows/DebuggerThread.cpp @@ -117,11 +117,11 @@ DebuggerThread::DebugLoop() { ExceptionResult status = HandleExceptionEvent(dbe.u.Exception, dbe.dwThreadId); m_exception.SetValue(status, eBroadcastNever); - m_exception.WaitForValueNotEqualTo(ExceptionResult::WillHandle, status); + m_exception.WaitForValueNotEqualTo(ExceptionResult::BreakInDebugger, status); - if (status == ExceptionResult::Handled) + if (status == ExceptionResult::MaskException) continue_status = DBG_CONTINUE; - else if (status == ExceptionResult::NotHandled) + else if (status == ExceptionResult::SendToApplication) continue_status = DBG_EXCEPTION_NOT_HANDLED; break; } -- cgit v1.2.3