Put back BEAST_CATCH_UNHANDLED_EXCEPTIONS macro, but disabled by default

This commit is contained in:
Vinnie Falco
2013-09-10 08:04:36 -07:00
parent da925ee5cc
commit 8b1b6050e7
3 changed files with 17 additions and 1 deletions

View File

@@ -74,6 +74,16 @@
//#define BEAST_COMPILER_CHECKS_SOCKET_OVERRIDES 1
#endif
/** Config: BEAST_CATCH_UNHANDLED_EXCEPTIONS
This will wrap thread entry points with an exception catching block.
A customizable hook is provided to get called when unhandled exceptions
are thrown.
@see ProtectedCall
*/
#ifndef BEAST_CATCH_UNHANDLED_EXCEPTIONS
//#define BEAST_CATCH_UNHANDLED_EXCEPTIONS 1
#endif
//------------------------------------------------------------------------------
//
// Libraries

View File

@@ -314,6 +314,7 @@ void ProtectedCall::call (Call& c)
if (handler == nullptr)
handler = &defaultHandler;
#if BEAST_CATCH_UNHANDLED_EXCEPTIONS
try
{
c ();
@@ -324,6 +325,11 @@ void ProtectedCall::call (Call& c)
handler->onException (e);
}
#else
c ();
#endif
}
//------------------------------------------------------------------------------

View File

@@ -56,7 +56,7 @@
#endif
#ifndef BEAST_CATCH_UNHANDLED_EXCEPTIONS
#define BEAST_CATCH_UNHANDLED_EXCEPTIONS 1
#define BEAST_CATCH_UNHANDLED_EXCEPTIONS 0
#endif
#if BEAST_DEBUG && ! defined (BEAST_CHECK_MEMORY_LEAKS)