From 9bd00e05b31e2ddb709b2afbc8569b7e4d767745 Mon Sep 17 00:00:00 2001 From: Dan Engelbrecht Date: Tue, 8 Aug 2023 14:36:47 +0200 Subject: fix asserts and exceptions (#344) * Send proper error to caller of GetChunkInfo instead of assert * catch and handle exceptions when checking for state_marker * properly wait for background tasks if oplop-export fails * changelog --- src/zenserver/zenserver.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/zenserver/zenserver.cpp') diff --git a/src/zenserver/zenserver.cpp b/src/zenserver/zenserver.cpp index 6ce49b1fe..6e636611d 100644 --- a/src/zenserver/zenserver.cpp +++ b/src/zenserver/zenserver.cpp @@ -571,9 +571,18 @@ public: void CheckStateMarker() { std::filesystem::path StateMarkerPath = m_DataRoot / "state_marker"; - if (!std::filesystem::exists(StateMarkerPath)) + try + { + if (!std::filesystem::exists(StateMarkerPath)) + { + ZEN_WARN("state marker at {} has been deleted, exiting", StateMarkerPath); + RequestExit(1); + return; + } + } + catch (std::exception& Ex) { - ZEN_WARN("state marker at {} has been deleted, exiting", StateMarkerPath); + ZEN_WARN("state marker at {} could not be checked, reason: '{}'", StateMarkerPath, Ex.what()); RequestExit(1); return; } -- cgit v1.2.3