diff --git a/doc/todo/VFALCO_TODO.txt b/doc/todo/VFALCO_TODO.txt
index 5e94a6edf..fe7f64734 100644
--- a/doc/todo/VFALCO_TODO.txt
+++ b/doc/todo/VFALCO_TODO.txt
@@ -52,8 +52,6 @@ David Features:
down the cache and then something that uses the cache, objects may get
put in the cache after it was shut down.
-- Figure out the right behavior of ProtectedCall
-
- Do something about the throw() reporting weaknesses:
* Make sure all Sconstruct and .pro builds have debug symbols in release
* Replace all throw with beast::Throw()
diff --git a/src/BeastConfig.h b/src/BeastConfig.h
index 3ca315422..b7257530f 100644
--- a/src/BeastConfig.h
+++ b/src/BeastConfig.h
@@ -75,16 +75,6 @@
//#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
diff --git a/src/beast/Builds/VisualStudio2012/beast.vcxproj b/src/beast/Builds/VisualStudio2012/beast.vcxproj
index 27033543d..28e252449 100644
--- a/src/beast/Builds/VisualStudio2012/beast.vcxproj
+++ b/src/beast/Builds/VisualStudio2012/beast.vcxproj
@@ -235,7 +235,6 @@
-
@@ -730,12 +729,6 @@
true
true
-
- true
- true
- true
- true
-
true
true
diff --git a/src/beast/Builds/VisualStudio2012/beast.vcxproj.filters b/src/beast/Builds/VisualStudio2012/beast.vcxproj.filters
index 175ebf461..a08e0d157 100644
--- a/src/beast/Builds/VisualStudio2012/beast.vcxproj.filters
+++ b/src/beast/Builds/VisualStudio2012/beast.vcxproj.filters
@@ -998,9 +998,6 @@
beast_core\misc
-
- beast_core\diagnostic
-
beast_core\diagnostic
@@ -1730,9 +1727,6 @@
beast_core\misc
-
- beast_core\diagnostic
-
beast_core\diagnostic
diff --git a/src/beast/beast/config/ConfigCheck.h b/src/beast/beast/config/ConfigCheck.h
index 3fd5a17a2..7ee595576 100644
--- a/src/beast/beast/config/ConfigCheck.h
+++ b/src/beast/beast/config/ConfigCheck.h
@@ -55,10 +55,6 @@
# endif
#endif
-#ifndef BEAST_CATCH_UNHANDLED_EXCEPTIONS
-#define BEAST_CATCH_UNHANDLED_EXCEPTIONS 0
-#endif
-
#if BEAST_DEBUG && ! defined (BEAST_CHECK_MEMORY_LEAKS)
#define BEAST_CHECK_MEMORY_LEAKS 1
#endif
diff --git a/src/beast/beast/utility/impl/Debug.cpp b/src/beast/beast/utility/impl/Debug.cpp
index 0265f7996..d3a26e0aa 100644
--- a/src/beast/beast/utility/impl/Debug.cpp
+++ b/src/beast/beast/utility/impl/Debug.cpp
@@ -329,15 +329,6 @@ public:
#endif
}
- static int beastCatchExceptions ()
- {
- #ifdef BEAST_CATCH_UNHANDLED_EXCEPTIONS
- return BEAST_CATCH_UNHANDLED_EXCEPTIONS;
- #else
- return 0;
- #endif
- }
-
void runTest ()
{
beginTestCase ("diagnostics");
@@ -346,7 +337,6 @@ public:
logMessage ("_DEBUG = " + String::fromNumber (envDebug ()));
logMessage ("BEAST_DEBUG = " + String::fromNumber (beastDebug ()));
logMessage ("BEAST_FORCE_DEBUG = " + String::fromNumber (beastForceDebug ()));
- logMessage ("BEAST_CATCH_UNHANDLED_EXCEPTIONS = " + String::fromNumber (beastCatchExceptions ()));
logMessage ("sizeof(std::size_t) = " + String::fromNumber (sizeof(std::size_t)));
bassertfalse;
diff --git a/src/beast/config/BeastConfig.h b/src/beast/config/BeastConfig.h
index 4c8e9aa1c..ee6a48375 100644
--- a/src/beast/config/BeastConfig.h
+++ b/src/beast/config/BeastConfig.h
@@ -74,16 +74,6 @@
//#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
diff --git a/src/beast/modules/beast_core/beast_core.cpp b/src/beast/modules/beast_core/beast_core.cpp
index a24524820..7e6e3ac23 100644
--- a/src/beast/modules/beast_core/beast_core.cpp
+++ b/src/beast/modules/beast_core/beast_core.cpp
@@ -141,7 +141,6 @@ namespace beast
#include "diagnostic/FatalError.cpp"
#include "diagnostic/FPUFlags.cpp"
#include "diagnostic/LeakChecked.cpp"
-#include "diagnostic/ProtectedCall.cpp"
#include "diagnostic/SemanticVersion.cpp"
#include "diagnostic/UnitTest.cpp"
#include "diagnostic/UnitTestUtilities.cpp"
diff --git a/src/beast/modules/beast_core/beast_core.h b/src/beast/modules/beast_core/beast_core.h
index 881856bab..ab92ed63f 100644
--- a/src/beast/modules/beast_core/beast_core.h
+++ b/src/beast/modules/beast_core/beast_core.h
@@ -163,7 +163,6 @@ class FileOutputStream;
#include "memory/SharedObject.h"
#include "memory/SharedPtr.h"
#include "memory/SharedFunction.h"
-#include "diagnostic/ProtectedCall.h"
#include "containers/AbstractFifo.h"
#include "text/Identifier.h"
#include "containers/Variant.h"
diff --git a/src/beast/modules/beast_core/threads/Thread.cpp b/src/beast/modules/beast_core/threads/Thread.cpp
index 6a573dd66..f3ab1eb2b 100644
--- a/src/beast/modules/beast_core/threads/Thread.cpp
+++ b/src/beast/modules/beast_core/threads/Thread.cpp
@@ -99,7 +99,7 @@ void Thread::threadEntryPoint()
// used to wrap the incoming call from the platform-specific code
void BEAST_API beast_threadEntryPoint (void* userData)
{
- ProtectedCall (&Thread::threadEntryPoint, static_cast (userData));
+ static_cast (userData)->threadEntryPoint();
}
//==============================================================================
diff --git a/src/ripple_app/main/RippleMain.cpp b/src/ripple_app/main/RippleMain.cpp
index 337bf0e1f..8bcd1909d 100644
--- a/src/ripple_app/main/RippleMain.cpp
+++ b/src/ripple_app/main/RippleMain.cpp
@@ -17,29 +17,16 @@
*/
//==============================================================================
+namespace po = boost::program_options;
+
RippleMain::RippleMain()
{
- ProtectedCall::setHandler (*this);
}
RippleMain::~RippleMain()
{
-
}
-void RippleMain::onException (ProtectedCall::Exception const& e) const
-{
-#if BEAST_MSVC
- ExitProcess(0);
-#else
- _Exit(EXIT_FAILURE);
-#endif
-}
-
-//------------------------------------------------------------------------------
-
-namespace po = boost::program_options;
-
void setupServer ()
{
#ifdef RLIMIT_NOFILE
diff --git a/src/ripple_app/main/RippleMain.h b/src/ripple_app/main/RippleMain.h
index b77b04830..cda9a7c0a 100644
--- a/src/ripple_app/main/RippleMain.h
+++ b/src/ripple_app/main/RippleMain.h
@@ -21,13 +21,12 @@
#ifndef RIPPLE_RIPPLEMAIN_H_INCLUDED
#define RIPPLE_RIPPLEMAIN_H_INCLUDED
-class RippleMain : public Main, public ProtectedCall::Handler
+class RippleMain : public Main
{
public:
RippleMain ();
~RippleMain ();
- void onException (ProtectedCall::Exception const& e) const;
int run (int argc, char const* const* argv);
};