diff options
author | Jim Ingham <jingham@apple.com> | 2010-06-19 04:45:32 +0000 |
---|---|---|
committer | Jim Ingham <jingham@apple.com> | 2010-06-19 04:45:32 +0000 |
commit | b01e742af7651361c2e49d22140dee9342d8d72e (patch) | |
tree | ed6662bee21de01cbe59c76e620f2881ac921c1b /lldb/source/Target/ThreadList.cpp | |
parent | b2a38a7286d20a4c6cf20820a0cfe9a1d30df93e (diff) | |
download | bcm5719-llvm-b01e742af7651361c2e49d22140dee9342d8d72e.tar.gz bcm5719-llvm-b01e742af7651361c2e49d22140dee9342d8d72e.zip |
Two changes in this checkin. Added a ThreadPlanKind so that I can do some reasoning based on the kind of thread plan
without having to use RTTI.
Removed the ThreadPlanContinue and replaced with a ShouldAutoContinue query that serves the same purpose. Having to push
another plan to assert that if there's no other indication the target should continue when this plan is popped was flakey
and error prone. This method is more stable, and fixed problems we were having with thread specific breakpoints.
llvm-svn: 106378
Diffstat (limited to 'lldb/source/Target/ThreadList.cpp')
-rw-r--r-- | lldb/source/Target/ThreadList.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lldb/source/Target/ThreadList.cpp b/lldb/source/Target/ThreadList.cpp index 6bc22712d10..8255c5df3b6 100644 --- a/lldb/source/Target/ThreadList.cpp +++ b/lldb/source/Target/ThreadList.cpp @@ -178,7 +178,7 @@ ThreadList::ShouldStop (Event *event_ptr) // Running events should never stop, obviously... - bool should_stop = false; + bool should_stop = false; m_process->UpdateThreadListIfNeeded(); collection::iterator pos, end = m_threads.end(); @@ -189,12 +189,12 @@ ThreadList::ShouldStop (Event *event_ptr) for (pos = m_threads.begin(); pos != end; ++pos) { ThreadSP thread_sp(*pos); - if ((thread_sp->ThreadStoppedForAReason()) - && (thread_sp->GetResumeState () != eStateSuspended)) + if ((thread_sp->GetResumeState () != eStateSuspended) && (thread_sp->ThreadStoppedForAReason())) { - should_stop |= thread_sp->ShouldStop(event_ptr); + should_stop |= thread_sp->ShouldStop(event_ptr); } } + if (should_stop) { for (pos = m_threads.begin(); pos != end; ++pos) |