Remove beast::Thread (RIPD-1189):

All uses of beast::Thread were previously removed from the code
base, so beast::Thread is removed.  One piece of beast::Thread
needed to be preserved: the ability to set the current thread's
name.  So there's now a beast::CurrentThreadName that allows the
current thread's name to be set and returned.

Thread naming is also cleaned up a bit.  ThreadName.h and .cpp
are removed since beast::CurrentThreadName does a better job.
ThreadEntry is also removed, but its terminateHandler() is
preserved in TerminateHandler.cpp.  The revised terminateHandler()
uses beast::CurrentThreadName to recover the name of the running
thread.

Finally, the NO_LOG_UNHANDLED_EXCEPTIONS #define is removed since
it was discovered that the MacOS debugger preserves the stack
of the original throw even if the terminateHandler() rethrows.
This commit is contained in:
Scott Schurr
2017-01-06 17:59:21 -08:00
committed by seelabs
parent 2c6b0f3193
commit ce9238b389
42 changed files with 546 additions and 891 deletions

View File

@@ -20,10 +20,8 @@
#include <BeastConfig.h>
#include <ripple/core/impl/SNTPClock.h>
#include <ripple/basics/Log.h>
#include <ripple/basics/ThreadName.h>
#include <ripple/basics/random.h>
#include <ripple/beast/core/Thread.h>
#include <ripple/core/ThreadEntry.h>
#include <ripple/beast/core/CurrentThreadName.h>
#include <beast/core/placeholders.hpp>
#include <boost/asio.hpp>
#include <boost/optional.hpp>
@@ -203,13 +201,8 @@ public:
void doRun ()
{
setCallingThreadName("SNTPClock");
// Get the address of an overloaded asio method
using Pio_service_mem = std::size_t (boost::asio::io_service::*)();
Pio_service_mem pRun = &boost::asio::io_service::run;
threadEntry (&io_service_, pRun, "SNTPClientImp::doRun()");
beast::setCurrentThreadName("rippled: SNTPClock");
io_service_.run();
}
void