diff options
Diffstat (limited to 'lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp')
-rw-r--r-- | lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp b/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp index e26d5f3..4fd7a46 100644 --- a/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp +++ b/lldb/source/Plugins/Process/scripted/ScriptedProcess.cpp @@ -187,6 +187,8 @@ Status ScriptedProcess::DoResume() { if (resume) { LLDB_LOGF(log, "ScriptedProcess::%s sending resume", __FUNCTION__); + SetPrivateState(eStateRunning); + SetPrivateState(eStateStopped); error = GetInterface().Resume(); } @@ -221,6 +223,19 @@ void ScriptedProcess::DidAttach(ArchSpec &process_arch) { process_arch = GetArchitecture(); } +Status ScriptedProcess::DoStop() { + Log *log = GetLog(LLDBLog::Process); + + if (GetInterface().ShouldStop()) { + SetPrivateState(eStateStopped); + LLDB_LOGF(log, "ScriptedProcess::%s Immediate stop", __FUNCTION__); + return {}; + } + + LLDB_LOGF(log, "ScriptedProcess::%s Delayed stop", __FUNCTION__); + return GetInterface().Stop(); +} + Status ScriptedProcess::DoDestroy() { return Status(); } bool ScriptedProcess::IsAlive() { return GetInterface().IsAlive(); } |