From 7e429dd14c7addafb2ae2c478a367fe342bdc623 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Sun, 7 Apr 2013 23:44:36 -0700 Subject: [PATCH] On non-tiny nodes, use an extra I/O thread. --- src/cpp/ripple/Application.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/cpp/ripple/Application.cpp b/src/cpp/ripple/Application.cpp index c8e1a1453..c64deb311 100644 --- a/src/cpp/ripple/Application.cpp +++ b/src/cpp/ripple/Application.cpp @@ -46,7 +46,7 @@ DatabaseCon::~DatabaseCon() } Application::Application() : -// mIOService(2), + mIOService((theConfig.NODE_SIZE >= 2) ? 2 : 1), mIOWork(mIOService), mAuxWork(mAuxService), mUNL(mIOService), mNetOps(mIOService, &mLedgerMaster), mTempNodeCache("NodeCache", 16384, 90), mHashedObjectStore(16384, 300), mSLECache("LedgerEntryCache", 4096, 120), mSNTPClient(mAuxService), mJobQueue(mIOService), mFeeTrack(), @@ -100,6 +100,12 @@ static void runAux(boost::asio::io_service& svc) svc.run(); } +static void runIO(boost::asio::io_service& io) +{ + NameThread("io"); + io.run(); +} + void Application::setup() { mJobQueue.setThreadCount(); @@ -307,6 +313,11 @@ void Application::setup() void Application::run() { + if (theConfig.NODE_SIZE >= 2) + { + boost::thread(boost::bind(runIO, boost::ref(mIOService))).detach(); + } + mIOService.run(); // This blocks if (mWSPublicDoor)