From 63a5522406e4991420a27c1e391f6933d92ceb31 Mon Sep 17 00:00:00 2001 From: Miguel Portilla Date: Tue, 21 Jun 2016 16:08:10 -0400 Subject: [PATCH] Add custom define to disable uncaught exception logging. --- Builds/VisualStudio2015/RippleD.vcxproj | 8 ++++---- SConstruct | 1 + src/ripple/core/ReportUncaughtException.h | 4 ++-- src/ripple/core/tests/ReportUncaughtException.test.cpp | 6 +++--- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Builds/VisualStudio2015/RippleD.vcxproj b/Builds/VisualStudio2015/RippleD.vcxproj index 75b8f0e79..b6a10a52d 100644 --- a/Builds/VisualStudio2015/RippleD.vcxproj +++ b/Builds/VisualStudio2015/RippleD.vcxproj @@ -86,7 +86,7 @@ - HAVE_USLEEP=1;SOCI_CXX_C11=1;_WIN32_WINNT=0x6000;BOOST_NO_AUTO_PTR;DEBUG;DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;NOMINMAX;OPENSSL_NO_SSL2;WIN32_CONSOLE;_CRTDBG_MAP_ALLOC;_CRT_SECURE_NO_WARNINGS;_DEBUG;_SCL_SECURE_NO_WARNINGS;_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS;%(PreprocessorDefinitions) + HAVE_USLEEP=1;SOCI_CXX_C11=1;_WIN32_WINNT=0x6000;BOOST_NO_AUTO_PTR;DEBUG;DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;NOMINMAX;NO_LOG_UNHANDLED_EXCEPTIONS;OPENSSL_NO_SSL2;WIN32_CONSOLE;_CRTDBG_MAP_ALLOC;_CRT_SECURE_NO_WARNINGS;_DEBUG;_SCL_SECURE_NO_WARNINGS;_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS;%(PreprocessorDefinitions) ..\..\build\proto;..\..\src;..\..\src\beast;..\..\src\beast\extras;..\..\src\beast\include;..\..\src\protobuf\src;..\..\src\protobuf\vsprojects;..\..\src\soci\include;..\..\src\soci\src;%(AdditionalIncludeDirectories) 4800;4244;4267;4018 Async @@ -123,7 +123,7 @@ - HAVE_USLEEP=1;SOCI_CXX_C11=1;_WIN32_WINNT=0x6000;BOOST_NO_AUTO_PTR;DEBUG;DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;NOMINMAX;OPENSSL_NO_SSL2;WIN32_CONSOLE;_CRTDBG_MAP_ALLOC;_CRT_SECURE_NO_WARNINGS;_DEBUG;_SCL_SECURE_NO_WARNINGS;_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS;%(PreprocessorDefinitions) + HAVE_USLEEP=1;SOCI_CXX_C11=1;_WIN32_WINNT=0x6000;BOOST_NO_AUTO_PTR;DEBUG;DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;NOMINMAX;NO_LOG_UNHANDLED_EXCEPTIONS;OPENSSL_NO_SSL2;WIN32_CONSOLE;_CRTDBG_MAP_ALLOC;_CRT_SECURE_NO_WARNINGS;_DEBUG;_SCL_SECURE_NO_WARNINGS;_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS;%(PreprocessorDefinitions) ..\..\build\proto;..\..\src;..\..\src\beast;..\..\src\beast\extras;..\..\src\beast\include;..\..\src\protobuf\src;..\..\src\protobuf\vsprojects;..\..\src\soci\include;..\..\src\soci\src;%(AdditionalIncludeDirectories) 4800;4244;4267;4018 Async @@ -160,7 +160,7 @@ - HAVE_USLEEP=1;SOCI_CXX_C11=1;_WIN32_WINNT=0x6000;BOOST_NO_AUTO_PTR;DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;NDEBUG;NOMINMAX;OPENSSL_NO_SSL2;WIN32_CONSOLE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS;%(PreprocessorDefinitions) + HAVE_USLEEP=1;SOCI_CXX_C11=1;_WIN32_WINNT=0x6000;BOOST_NO_AUTO_PTR;DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;NDEBUG;NOMINMAX;NO_LOG_UNHANDLED_EXCEPTIONS;OPENSSL_NO_SSL2;WIN32_CONSOLE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS;%(PreprocessorDefinitions) ..\..\build\proto;..\..\src;..\..\src\beast;..\..\src\beast\extras;..\..\src\beast\include;..\..\src\protobuf\src;..\..\src\protobuf\vsprojects;..\..\src\soci\include;..\..\src\soci\src;%(AdditionalIncludeDirectories) 4800;4244;4267;4018 Async @@ -195,7 +195,7 @@ - HAVE_USLEEP=1;SOCI_CXX_C11=1;_WIN32_WINNT=0x6000;BOOST_NO_AUTO_PTR;DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;NDEBUG;NOMINMAX;OPENSSL_NO_SSL2;WIN32_CONSOLE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS;%(PreprocessorDefinitions) + HAVE_USLEEP=1;SOCI_CXX_C11=1;_WIN32_WINNT=0x6000;BOOST_NO_AUTO_PTR;DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;NDEBUG;NOMINMAX;NO_LOG_UNHANDLED_EXCEPTIONS;OPENSSL_NO_SSL2;WIN32_CONSOLE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS;%(PreprocessorDefinitions) ..\..\build\proto;..\..\src;..\..\src\beast;..\..\src\beast\extras;..\..\src\beast\include;..\..\src\protobuf\src;..\..\src\protobuf\vsprojects;..\..\src\soci\include;..\..\src\soci\src;%(AdditionalIncludeDirectories) 4800;4244;4267;4018 Async diff --git a/SConstruct b/SConstruct index a978da93a..ca5c0adba 100644 --- a/SConstruct +++ b/SConstruct @@ -365,6 +365,7 @@ def config_base(env): ,{'SOCI_CXX_C11' : '1'} ,'_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS' ,'BOOST_NO_AUTO_PTR' + ,'NO_LOG_UNHANDLED_EXCEPTIONS' ]) if Beast.system.windows: diff --git a/src/ripple/core/ReportUncaughtException.h b/src/ripple/core/ReportUncaughtException.h index 2422b3979..1ffdc1fe3 100644 --- a/src/ripple/core/ReportUncaughtException.h +++ b/src/ripple/core/ReportUncaughtException.h @@ -99,7 +99,7 @@ void reportUncaughtException ( "Last argument must be a lamdba taking no arguments " "and returning std::string."); -#ifdef __APPLE__ +#ifdef NO_LOG_UNHANDLED_EXCEPTIONS // Don't use a try block so we can get a good call stack. ((t)->*(threadTop)) (); #else @@ -137,7 +137,7 @@ void reportUncaughtException ( { logUncaughtException ("unknown exception type"); } -#endif // __APPLE__ else +#endif // NO_LOG_UNHANDLED_EXCEPTIONS else } // Handle the common case where there is no additional local information. diff --git a/src/ripple/core/tests/ReportUncaughtException.test.cpp b/src/ripple/core/tests/ReportUncaughtException.test.cpp index 3ad85d17b..d1ada49de 100644 --- a/src/ripple/core/tests/ReportUncaughtException.test.cpp +++ b/src/ripple/core/tests/ReportUncaughtException.test.cpp @@ -25,8 +25,8 @@ namespace ripple { -// reportUncaughtException is disabled if __APPLE__ is defined. -#ifndef __APPLE__ +// reportUncaughtException is disabled if NO_LOG_UNHANDLED_EXCEPTIONS is defined. +#ifndef NO_LOG_UNHANDLED_EXCEPTIONS class ReportUncaughtException_test : public TestSuite { @@ -164,6 +164,6 @@ public: BEAST_DEFINE_TESTSUITE (ReportUncaughtException, core, ripple); -#endif // __APPLE__ +#endif // NO_LOG_UNHANDLED_EXCEPTIONS } // ripple