summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target/Thread.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Target/Thread.cpp')
-rw-r--r--lldb/source/Target/Thread.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/lldb/source/Target/Thread.cpp b/lldb/source/Target/Thread.cpp
index 267f1fc8999..6d03b2f3282 100644
--- a/lldb/source/Target/Thread.cpp
+++ b/lldb/source/Target/Thread.cpp
@@ -93,13 +93,22 @@ Thread::GetStopInfo ()
if (plan_sp)
return StopInfo::CreateStopReasonWithPlan (plan_sp);
else
- return GetPrivateStopReason ();
+ {
+ if (m_actual_stop_info_sp
+ && m_actual_stop_info_sp->IsValid()
+ && m_thread_stop_reason_stop_id == m_process.GetStopID())
+ return m_actual_stop_info_sp;
+ else
+ return GetPrivateStopReason ();
+ }
}
void
Thread::SetStopInfo (const lldb::StopInfoSP &stop_info_sp)
{
m_actual_stop_info_sp = stop_info_sp;
+ if (m_actual_stop_info_sp)
+ m_actual_stop_info_sp->MakeStopInfoValid();
m_thread_stop_reason_stop_id = GetProcess().GetStopID();
}
OpenPOWER on IntegriCloud