diff options
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/MemTools.cpp | 22 | ||||
| -rw-r--r-- | Source/Core/Core/MemTools.h | 1 |
2 files changed, 23 insertions, 0 deletions
diff --git a/Source/Core/Core/MemTools.cpp b/Source/Core/Core/MemTools.cpp index c427c8ba7e..c9109bfd1f 100644 --- a/Source/Core/Core/MemTools.cpp +++ b/Source/Core/Core/MemTools.cpp @@ -113,6 +113,11 @@ void UninstallExceptionHandler() s_veh_handle = nullptr; } +bool IsExceptionHandlerSupported() +{ + return true; +} + #elif defined(__APPLE__) && !defined(USE_SIGACTION_ON_APPLE) static void CheckKR(const char* name, kern_return_t kr) @@ -245,6 +250,11 @@ void UninstallExceptionHandler() { } +bool IsExceptionHandlerSupported() +{ + return true; +} + #elif defined(_POSIX_VERSION) && !defined(_M_GENERIC) static struct sigaction old_sa_segv; @@ -353,15 +363,27 @@ void UninstallExceptionHandler() sigaction(SIGBUS, &old_sa_bus, nullptr); #endif } + +bool IsExceptionHandlerSupported() +{ + return true; +} + #else // _M_GENERIC or unsupported platform void InstallExceptionHandler() { } + void UninstallExceptionHandler() { } +bool IsExceptionHandlerSupported() +{ + return false; +} + #endif } // namespace EMM diff --git a/Source/Core/Core/MemTools.h b/Source/Core/Core/MemTools.h index 65c06e7023..e71f2bb2f9 100644 --- a/Source/Core/Core/MemTools.h +++ b/Source/Core/Core/MemTools.h @@ -7,4 +7,5 @@ namespace EMM { void InstallExceptionHandler(); void UninstallExceptionHandler(); +bool IsExceptionHandlerSupported(); } // namespace EMM |
