From faff80e46e8693278bc9388ce62885277ad423a8 Mon Sep 17 00:00:00 2001 From: Vladyslav Baranovskyi Date: Thu, 30 May 2024 14:15:16 +0300 Subject: [PATCH] Moved code back into OpenVulkano namespace, removed unnecessary comment --- openVulkanoCpp/Base/Logger.cpp | 79 +++++++++++++++++----------------- 1 file changed, 39 insertions(+), 40 deletions(-) diff --git a/openVulkanoCpp/Base/Logger.cpp b/openVulkanoCpp/Base/Logger.cpp index 224c5fa..de3ca6c 100644 --- a/openVulkanoCpp/Base/Logger.cpp +++ b/openVulkanoCpp/Base/Logger.cpp @@ -23,45 +23,6 @@ # include #endif -namespace -{ - bool didLoggerShutdown = false; - - void signalHandler(int sigCode) - { - if(!didLoggerShutdown) - spdlog::error("Received signal {}", sigCode); - spdlog::shutdown(); - didLoggerShutdown = true; - std::raise(sigCode); // calls default handler - } - -#ifdef _WIN32 - LONG WINAPI win32ExceptionHandler(EXCEPTION_POINTERS *exceptionPointers) - { - // NOTE(vb): We can report some of the exceptionPointers fields to the user... But this is for windows only - if(!didLoggerShutdown) - spdlog::error("An exception occured"); - spdlog::shutdown(); - didLoggerShutdown = true; - return EXCEPTION_CONTINUE_SEARCH; - } -#endif - - void setupSignalHandlers() - { - std::signal(SIGSEGV, signalHandler); - std::signal(SIGABRT, signalHandler); - std::signal(SIGFPE, signalHandler); - std::signal(SIGILL, signalHandler); - // std::signal(SIGINT, signalHandler); - std::signal(SIGTERM, signalHandler); -#ifdef _WIN32 - // SetConsoleCtrlHandler(handlerRoutine, TRUE); - SetUnhandledExceptionFilter(win32ExceptionHandler); -#endif - } -} namespace OpenVulkano { @@ -84,6 +45,44 @@ namespace OpenVulkano Logger::Ptr Logger::PERF = nullptr; Logger::Ptr Logger::APP = nullptr; + namespace + { + bool didLoggerShutdown = false; + + void signalHandler(int sigCode) + { + if(!didLoggerShutdown) + spdlog::error("Received signal {}", sigCode); + spdlog::shutdown(); + didLoggerShutdown = true; + std::raise(sigCode); // calls default handler + } + + #ifdef _WIN32 + LONG WINAPI win32ExceptionHandler(EXCEPTION_POINTERS *exceptionPointers) + { + // NOTE(vb): We can report some of the exceptionPointers fields to the user... But this is for windows only + if(!didLoggerShutdown) + spdlog::error("An exception occured"); + spdlog::shutdown(); + didLoggerShutdown = true; + return EXCEPTION_CONTINUE_SEARCH; + } + #endif + + void setupSignalHandlers() + { + std::signal(SIGSEGV, signalHandler); + std::signal(SIGABRT, signalHandler); + std::signal(SIGFPE, signalHandler); + std::signal(SIGILL, signalHandler); + // std::signal(SIGINT, signalHandler); + std::signal(SIGTERM, signalHandler); + #ifdef _WIN32 + SetUnhandledExceptionFilter(win32ExceptionHandler); + #endif + } + } void Logger::SetupLogger(std::string logFolder, const std::string& logFile) { @@ -123,7 +122,7 @@ namespace OpenVulkano spdlog::flush_every(std::chrono::seconds(5)); - ::setupSignalHandlers(); + setupSignalHandlers(); MANAGER->info("Logger initialized"); }