summaryrefslogtreecommitdiffstats
path: root/lldb/source/Target/Process.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/Target/Process.cpp')
-rw-r--r--lldb/source/Target/Process.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/lldb/source/Target/Process.cpp b/lldb/source/Target/Process.cpp
index b7cda542cbd..2de68183926 100644
--- a/lldb/source/Target/Process.cpp
+++ b/lldb/source/Target/Process.cpp
@@ -3283,6 +3283,9 @@ Process::ShouldBroadcastEvent (Event *event_ptr)
if (m_thread_list.ShouldStop (event_ptr) == false)
{
+ // ShouldStop may have restarted the target already. If so, don't
+ // resume it twice.
+ bool was_restarted = ProcessEventData::GetRestartedFromEvent (event_ptr);
switch (m_thread_list.ShouldReportStop (event_ptr))
{
case eVoteYes:
@@ -3296,7 +3299,8 @@ Process::ShouldBroadcastEvent (Event *event_ptr)
if (log)
log->Printf ("Process::ShouldBroadcastEvent (%p) Restarting process from state: %s", event_ptr, StateAsCString(state));
- PrivateResume ();
+ if (!was_restarted)
+ PrivateResume ();
}
else
{
OpenPOWER on IntegriCloud