diff options
| author | Dan Engelbrecht <[email protected]> | 2024-03-10 08:12:33 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-03-10 08:12:33 +0100 |
| commit | 9815da7a63d979653ac71370ce63a4397777c715 (patch) | |
| tree | c0d5675c3416fe0b487c4ef2a853a5de39ee6e2e /src/zenutil/zenserverprocess.cpp | |
| parent | Add WriteMeasuredVarUInt to avoid measuring ints twice before writing (#665) (diff) | |
| download | zen-9815da7a63d979653ac71370ce63a4397777c715.tar.xz zen-9815da7a63d979653ac71370ce63a4397777c715.zip | |
fix zenserver state macos (#669)
- Shared memory for zenserver state may hang around after all zenserver processes exit - make sure we find a valid entry in `zen up` before bailing
- Httpasio add retry for desired port
- Httpasio only call listen() once
- Httpasio explicitly close acceptor sockets
Diffstat (limited to 'src/zenutil/zenserverprocess.cpp')
| -rw-r--r-- | src/zenutil/zenserverprocess.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/zenutil/zenserverprocess.cpp b/src/zenutil/zenserverprocess.cpp index 909692fbc..0b0127f93 100644 --- a/src/zenutil/zenserverprocess.cpp +++ b/src/zenutil/zenserverprocess.cpp @@ -177,6 +177,7 @@ ZenServerState::Initialize() void* pBuf = mmap(nullptr, MapSize, PROT_READ | PROT_WRITE, MAP_SHARED, Fd, 0); if (pBuf == MAP_FAILED) { + close(Fd); ThrowLastError("Could not map view of Zen server state"); } #endif @@ -241,7 +242,10 @@ ZenServerState::Lookup(int DesiredListenPort) { if (m_Data[i].DesiredListenPort == DesiredListenPort) { - return &m_Data[i]; + if (IsProcessRunning(m_Data[i].Pid)) + { + return &m_Data[i]; + } } } |