diff options
Diffstat (limited to 'src/zenutil')
| -rw-r--r-- | src/zenutil/include/zenutil/zenserverprocess.h | 1 | ||||
| -rw-r--r-- | src/zenutil/zenserverprocess.cpp | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/zenutil/include/zenutil/zenserverprocess.h b/src/zenutil/include/zenutil/zenserverprocess.h index daa07a1e1..03d507400 100644 --- a/src/zenutil/include/zenutil/zenserverprocess.h +++ b/src/zenutil/include/zenutil/zenserverprocess.h @@ -135,6 +135,7 @@ struct ZenServerInstance #endif bool IsRunning() const; bool Terminate(); + void ResetDeadProcess(); std::string GetLogOutput() const; inline ServerMode GetServerMode() const { return m_ServerMode; } diff --git a/src/zenutil/zenserverprocess.cpp b/src/zenutil/zenserverprocess.cpp index 3993d6a32..2b27b2d8b 100644 --- a/src/zenutil/zenserverprocess.cpp +++ b/src/zenutil/zenserverprocess.cpp @@ -1445,6 +1445,16 @@ ZenServerInstance::IsRunning() const return m_Process.IsRunning(); } +void +ZenServerInstance::ResetDeadProcess() +{ + if (m_Process.IsValid() && !m_Process.IsRunning()) + { + m_Process.Reset(); + m_ShutdownEvent.reset(); + } +} + std::string ZenServerInstance::GetLogOutput() const { |