rdar://problem/11457143

Forgot to check in this file.  Oops!

llvm-svn: 161639
This commit is contained in:
Johnny Chen 2012-08-09 23:10:57 +00:00
parent e9a5627e7a
commit 1320641067
1 changed files with 16 additions and 11 deletions

View File

@ -492,17 +492,6 @@ public:
}
}
StoppointCallbackContext context (event_ptr, exe_ctx, false);
bool stop_requested = wp_sp->InvokeCallback (&context);
// Also make sure that the callback hasn't continued the target.
// If it did, when we'll set m_should_start to false and get out of here.
if (HasTargetRunSinceMe ())
m_should_stop = false;
if (m_should_stop && !stop_requested)
{
// We have been vetoed.
m_should_stop = false;
}
if (m_should_stop && wp_sp->GetConditionText() != NULL)
{
@ -571,6 +560,22 @@ public:
m_should_stop = true;
}
}
// If the condition says to stop, we run the callback to further decide whether to stop.
if (m_should_stop)
{
bool stop_requested = wp_sp->InvokeCallback (&context);
// Also make sure that the callback hasn't continued the target.
// If it did, when we'll set m_should_stop to false and get out of here.
if (HasTargetRunSinceMe ())
m_should_stop = false;
if (m_should_stop && !stop_requested)
{
// We have been vetoed by the callback mechanism.
m_should_stop = false;
}
}
}
else
{