From e55c4969f36bcce6e1cbdd88b187cc1f45507cad Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Mon, 16 Feb 2026 17:12:57 +0000 Subject: [PATCH] minor fixes Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> --- src/xrpld/app/main/Application.cpp | 2 +- src/xrpld/app/main/BasicApp.cpp | 6 ++++++ src/xrpld/app/main/BasicApp.h | 7 +++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/xrpld/app/main/Application.cpp b/src/xrpld/app/main/Application.cpp index 6cf5e028ee..cb8547bfbe 100644 --- a/src/xrpld/app/main/Application.cpp +++ b/src/xrpld/app/main/Application.cpp @@ -235,7 +235,7 @@ public: //-------------------------------------------------------------------------- ApplicationImp(std::unique_ptr config, std::unique_ptr logs, std::unique_ptr timeKeeper) - : BasicApp(numberOfThreads(*config)) + : BasicApp(numberOfThreads(*config), DeferStart{}) , config_(std::move(config)) , logs_(std::move(logs)) , timeKeeper_(std::move(timeKeeper)) diff --git a/src/xrpld/app/main/BasicApp.cpp b/src/xrpld/app/main/BasicApp.cpp index 20fb5369d6..4ae5c04771 100644 --- a/src/xrpld/app/main/BasicApp.cpp +++ b/src/xrpld/app/main/BasicApp.cpp @@ -5,6 +5,12 @@ #include BasicApp::BasicApp(std::size_t numberOfThreads) : numberOfThreads_(numberOfThreads) +{ + work_.emplace(boost::asio::make_work_guard(io_context_)); + startIOThreads(); +} + +BasicApp::BasicApp(std::size_t numberOfThreads, DeferStart) : numberOfThreads_(numberOfThreads) { work_.emplace(boost::asio::make_work_guard(io_context_)); } diff --git a/src/xrpld/app/main/BasicApp.h b/src/xrpld/app/main/BasicApp.h index 779467f69e..fde5317680 100644 --- a/src/xrpld/app/main/BasicApp.h +++ b/src/xrpld/app/main/BasicApp.h @@ -26,6 +26,13 @@ public: } protected: + // Construct without starting threads. Derived classes must call + // startIOThreads() once construction is complete. + struct DeferStart + { + }; + BasicApp(std::size_t numberOfThreads, DeferStart); + void startIOThreads(); };