aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Object/TapiUniversal.cpp
diff options
context:
space:
mode:
authorIlya Bukonkin <fallkrum@yahoo.com>2020-06-11 14:59:19 -0700
committerJonas Devlieghere <jonas@devlieghere.com>2020-06-11 15:02:46 -0700
commit3b43f006294971b8049d4807110032169780e5b8 (patch)
tree44f6ee469edaf075269343c526700424c86a96fe /llvm/lib/Object/TapiUniversal.cpp
parent2e7a0845913e5ed1673467fa5648b79842de2104 (diff)
downloadllvm-3b43f006294971b8049d4807110032169780e5b8.zip
llvm-3b43f006294971b8049d4807110032169780e5b8.tar.gz
llvm-3b43f006294971b8049d4807110032169780e5b8.tar.bz2
[lldb] Check if thread was suspended during previous stop added.
Encountered the following situation: Let we started thread T1 and it hit breakpoint on B1 location. We suspended T1 and continued the process. Then we started thread T2 which hit for example the same location B1. This time in a breakpoint callback we decided not to stop returning false. Expected result: process continues (as if T2 did not hit breakpoint) its workflow with T1 still suspended. Actual result: process do stops (as if T2 callback returned true). Solution: We need invalidate StopInfo for threads that was previously suspended just because something that is already inactive can not be the reason of stop. Thread::GetPrivateStopInfo() may be appropriate place to do it, because it gets called (through Thread::GetStopInfo()) every time before process reports stop and user gets chance to change m_resume_state again i.e if we see m_resume_state == eStateSuspended it definitely means it was set during previous stop and it also means this thread can not be stopped again (cos' it was frozen during previous stop). Differential revision: https://reviews.llvm.org/D80112
Diffstat (limited to 'llvm/lib/Object/TapiUniversal.cpp')
0 files changed, 0 insertions, 0 deletions