aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver/main.cpp
diff options
context:
space:
mode:
authorzousar <[email protected]>2025-08-05 14:58:08 -0600
committerzousar <[email protected]>2025-08-05 14:58:08 -0600
commit7ddededb31c9b3415d4d85f0b284e5bf45c723b9 (patch)
treee908f97766720550b7d3d4e8553b3c83132c0735 /src/zenserver/main.cpp
parentxmake precommit (diff)
parentde/stringbuilder safety (#456) (diff)
downloadzen-7ddededb31c9b3415d4d85f0b284e5bf45c723b9.tar.xz
zen-7ddededb31c9b3415d4d85f0b284e5bf45c723b9.zip
Merge branch 'main' into zs/put-overwrite-policy
Diffstat (limited to 'src/zenserver/main.cpp')
-rw-r--r--src/zenserver/main.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/zenserver/main.cpp b/src/zenserver/main.cpp
index b0d945814..6d9a478be 100644
--- a/src/zenserver/main.cpp
+++ b/src/zenserver/main.cpp
@@ -117,6 +117,14 @@ ZenEntryPoint::Run()
ServerState.Initialize();
ServerState.Sweep();
+ auto NotifyReady = [&] {
+ if (!m_ServerOptions.ChildId.empty())
+ {
+ NamedEvent ParentEvent{m_ServerOptions.ChildId};
+ ParentEvent.Set();
+ }
+ };
+
uint32_t AttachSponsorProcessRetriesLeft = 3;
ZenServerState::ZenServerEntry* Entry = ServerState.Lookup(m_ServerOptions.BasePort);
while (Entry)
@@ -155,6 +163,7 @@ ZenEntryPoint::Run()
// Sponsor processes are checked every second, so 2 second wait time should be enough
if (Entry->AddSponsorProcess(m_ServerOptions.OwnerPid, 2000))
{
+ NotifyReady();
std::exit(0);
}
if (AttachSponsorProcessRetriesLeft-- > 0)
@@ -294,12 +303,7 @@ ZenEntryPoint::Run()
Server.SetIsReadyFunc([&] {
m_LockFile.Update(MakeLockData(true), Ec);
-
- if (!m_ServerOptions.ChildId.empty())
- {
- NamedEvent ParentEvent{m_ServerOptions.ChildId};
- ParentEvent.Set();
- }
+ NotifyReady();
});
Server.Run();