From 7f1ebd3767007f06a4ce4e3142761e304932414d Mon Sep 17 00:00:00 2001 From: Stenzek Date: Sun, 22 Dec 2024 15:04:45 +1000 Subject: [PATCH] PageFaultHandler: Warning fix --- src/util/page_fault_handler.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/util/page_fault_handler.cpp b/src/util/page_fault_handler.cpp index 5b4a7fc5c..8e406f125 100644 --- a/src/util/page_fault_handler.cpp +++ b/src/util/page_fault_handler.cpp @@ -30,12 +30,6 @@ #include #endif -namespace PageFaultHandler { -static std::recursive_mutex s_exception_handler_mutex; -static bool s_in_exception_handler = false; -static bool s_installed = false; -} // namespace PageFaultHandler - #if defined(CPU_ARCH_ARM64) [[maybe_unused]] static bool IsStoreInstruction(const void* ptr) { @@ -85,7 +79,11 @@ static bool s_installed = false; namespace PageFaultHandler { static LONG ExceptionHandler(PEXCEPTION_POINTERS exi); -} + +static std::recursive_mutex s_exception_handler_mutex; +static bool s_in_exception_handler = false; +static bool s_installed = false; +} // namespace PageFaultHandler LONG PageFaultHandler::ExceptionHandler(PEXCEPTION_POINTERS exi) { @@ -140,6 +138,10 @@ bool PageFaultHandler::Install(Error* error) namespace PageFaultHandler { static void SignalHandler(int sig, siginfo_t* info, void* ctx); + +static std::recursive_mutex s_exception_handler_mutex; +static bool s_in_exception_handler = false; +static bool s_installed = false; } // namespace PageFaultHandler void PageFaultHandler::SignalHandler(int sig, siginfo_t* info, void* ctx) @@ -210,7 +212,7 @@ void PageFaultHandler::SignalHandler(int sig, siginfo_t* info, void* ctx) result = HandlePageFault(exception_pc, exception_address, is_write); s_in_exception_handler = false; } - + s_exception_handler_mutex.unlock(); // Resumes execution right where we left off (re-executes instruction that caused the SIGSEGV).