diff options
Diffstat (limited to 'src/zenserver/hub/storageserverinstance.h')
| -rw-r--r-- | src/zenserver/hub/storageserverinstance.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/zenserver/hub/storageserverinstance.h b/src/zenserver/hub/storageserverinstance.h index ba15133bf..9963f640e 100644 --- a/src/zenserver/hub/storageserverinstance.h +++ b/src/zenserver/hub/storageserverinstance.h @@ -81,6 +81,10 @@ public: return m_Instance->UpdateMetricsLocked(); } +#if ZEN_WITH_TESTS + void TerminateForTesting() const; // kills the child process to simulate a crash +#endif + private: RwLock* m_Lock = nullptr; StorageServerInstance* m_Instance = nullptr; @@ -122,6 +126,7 @@ public: void Deprovision(); [[nodiscard]] bool Hibernate(); [[nodiscard]] bool Wake(); + [[nodiscard]] bool RecoverFromCrash(); // true = recovered; false = spawn failed (Crashed), caller must Deprovision() + cleanup private: RwLock* m_Lock = nullptr; @@ -136,6 +141,7 @@ private: [[nodiscard]] bool HibernateLocked(); [[nodiscard]] bool WakeLocked(); + [[nodiscard]] bool RecoverCrashedLocked(); // true = recovered (Provisioned); false = spawn failed (Crashed) void UpdateMetricsLocked(); |