Author: chaoren Date: Fri Nov 6 20:16:31 2015 New Revision: 252391 URL: http://llvm.org/viewvc/llvm-project?rev=252391&view=rev Log: Fix TestThreadSpecificBreakpoint.py on Linux after rL252355.
Summary: On Linux, if a thread-specific conditional breakpoint was hit, it won't necessarily be the thread that hit the breakpoint itself that evaluates the conditional expression, so the thread that hit the breakpoint could still be asked to stop, even though it hasn't been allowed to run since the previous stop. Reviewers: sivachandra, jingham Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D14472 Modified: lldb/trunk/source/Target/ThreadList.cpp Modified: lldb/trunk/source/Target/ThreadList.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Target/ThreadList.cpp?rev=252391&r1=252390&r2=252391&view=diff ============================================================================== --- lldb/trunk/source/Target/ThreadList.cpp (original) +++ lldb/trunk/source/Target/ThreadList.cpp Fri Nov 6 20:16:31 2015 @@ -262,7 +262,11 @@ ThreadList::ShouldStop (Event *event_ptr // This is an optimization... If we didn't let a thread run in between the previous stop and this // one, we shouldn't have to consult it for ShouldStop. So just leave it off the list we are going to // inspect. - if (thread_sp->GetTemporaryResumeState () != eStateSuspended) + // On Linux, if a thread-specific conditional breakpoint was hit, it won't necessarily be the thread + // that hit the breakpoint itself that evaluates the conditional expression, so the thread that hit + // the breakpoint could still be asked to stop, even though it hasn't been allowed to run since the + // previous stop. + if (thread_sp->GetTemporaryResumeState () != eStateSuspended || thread_sp->IsStillAtLastBreakpointHit()) threads_copy.push_back(thread_sp); } _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits