diff options
| author | Dan Engelbrecht <[email protected]> | 2024-04-17 12:42:01 +0200 |
|---|---|---|
| committer | GitHub Enterprise <[email protected]> | 2024-04-17 12:42:01 +0200 |
| commit | c956e958e0a386f24e6865ad62ee4fe640f93b18 (patch) | |
| tree | 96a2d52c5e33e9af76d36535b0c675d56b685617 /src/zenutil/include | |
| parent | gc v2 disk freed space fix and oplog stats report improvement (#45) (diff) | |
| download | zen-c956e958e0a386f24e6865ad62ee4fe640f93b18.tar.xz zen-c956e958e0a386f24e6865ad62ee4fe640f93b18.zip | |
zen startup hardening (#49)
- Feature: `zen up` command improvements
- --`port` allows you to specify a base port when starting an instance
- --`base-dir` allows you to specify a base directory for the zenserver executable if it is not located next to the zen.exe executable
- Feature: `zen down`
- --`port` allows you to specify a base port when shutting down an instance
- --`base-dir` allows you to specify a base directory for the zenserver executable if it is not located next to the zen.exe executable
- --`force` if regular shutdown fails it tries to find a running zenserver.exe process and terminate it
- If it fails to attach to the running server it now waits for it to exit when setting the RequestExit shared memory flag
- Improvement: zenserver now checks the RequestExit flag in the shared memory and exist gracefully if it is set
- Improvement: When adding a sponsor process to a running zenserver instance, we wait for it to be picked up from the shared memory section to determine success/fail
Diffstat (limited to 'src/zenutil/include')
| -rw-r--r-- | src/zenutil/include/zenutil/zenserverprocess.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/zenutil/include/zenutil/zenserverprocess.h b/src/zenutil/include/zenutil/zenserverprocess.h index 15138341c..720b30766 100644 --- a/src/zenutil/include/zenutil/zenserverprocess.h +++ b/src/zenutil/include/zenutil/zenserverprocess.h @@ -74,6 +74,7 @@ struct ZenServerInstance inline int GetPid() { return m_Process.Pid(); } inline void SetOwnerPid(int Pid) { m_OwnerPid = Pid; } bool IsRunning(); + bool Terminate(); void SetTestDir(std::filesystem::path TestDir); @@ -160,7 +161,9 @@ public: Oid GetSessionId() const { return Oid::FromMemory(SessionId); } void Reset(); void SignalShutdownRequest(); + bool IsShutdownRequested() const; void SignalReady(); + bool IsReady() const; bool AddSponsorProcess(uint32_t Pid); }; |