From cebe079c11addfdce3e80d9d4014de5df3c255db Mon Sep 17 00:00:00 2001 From: Matthieu Gautier Date: Fri, 30 Aug 2024 14:11:08 +0200 Subject: [PATCH] Don't use `sig_atomic_t` on Windows. We don't setup signal handler on Windows, so we can replace `volatil sig_atomic_t` by simple `bool`. --- src/server/kiwix-serve.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/server/kiwix-serve.cpp b/src/server/kiwix-serve.cpp index e7ec759..249c240 100644 --- a/src/server/kiwix-serve.cpp +++ b/src/server/kiwix-serve.cpp @@ -111,10 +111,9 @@ inline std::string normalizeRootUrl(std::string rootUrl) return rootUrl.empty() ? rootUrl : "/" + rootUrl; } +#ifndef _WIN32 volatile sig_atomic_t waiting = false; volatile sig_atomic_t libraryMustBeReloaded = false; - -#ifndef _WIN32 void handle_sigterm(int signum) { if ( waiting == false ) { @@ -144,6 +143,9 @@ void setup_sighandlers() set_signal_handler(SIGINT, &handle_sigterm); set_signal_handler(SIGHUP, &handle_sighup); } +#else +bool waiting = false; +bool libraryMustBeReloaded = false; #endif uint64_t fileModificationTime(const std::string& path) @@ -422,7 +424,9 @@ int main(int argc, char** argv) if ( monitorLibrary ) { curLibraryFileTimestamp = newestFileTimestamp(libraryPaths); - libraryMustBeReloaded += curLibraryFileTimestamp > libraryFileTimestamp; + if ( !libraryMustBeReloaded ) { + libraryMustBeReloaded = curLibraryFileTimestamp > libraryFileTimestamp; + } } if ( libraryMustBeReloaded && !libraryPaths.empty() ) {