From e845a4188b93a31445a780ae11f33286420cb038 Mon Sep 17 00:00:00 2001 From: "Matthias P. Braendli" Date: Mon, 25 Nov 2019 16:20:27 +0100 Subject: Add startupcheck functionality --- src/DabMux.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src') diff --git a/src/DabMux.cpp b/src/DabMux.cpp index 3ee57c0..de0c362 100644 --- a/src/DabMux.cpp +++ b/src/DabMux.cpp @@ -239,6 +239,26 @@ int main(int argc, char *argv[]) etiLog.register_backend(std::make_shared()); } + const auto startupcheck = pt.get("general.startupcheck", ""); + if (not startupcheck.empty()) { + etiLog.level(info) << "Running startup check '" << startupcheck << "'"; + int wstatus = system(startupcheck.c_str()); + + if (WIFEXITED(wstatus)) { + if (WEXITSTATUS(wstatus) == 0) { + etiLog.level(info) << "Startup check ok"; + } + else { + etiLog.level(error) << "Startup check failed, returned " << WEXITSTATUS(wstatus); + return 1; + } + } + else { + etiLog.level(error) << "Startup check failed, child didn't terminate normally"; + return 1; + } + } + int mgmtserverport = pt.get("general.managementport", pt.get("general.statsserverport", 0) ); -- cgit v1.2.3