From 6449a7886329a457bd2baa21173bd9cb239ae665 Mon Sep 17 00:00:00 2001 From: SChernykh <15806605+SChernykh@users.noreply.github.com> Date: Fri, 6 Feb 2026 18:57:19 +0100 Subject: [PATCH] Don't init gRPC if it's not used --- src/main.cpp | 8 ++++++-- src/params.cpp | 19 +++++++++++++++++++ src/params.h | 4 ++++ 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 2a62ee6..817e2eb 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -343,7 +343,9 @@ int main(int argc, char* argv[]) } #ifdef WITH_GRPC - grpc_init(); + if (params.grpc_needed()) { + grpc_init(); + } #endif #ifdef WITH_TLS @@ -362,7 +364,9 @@ int main(int argc, char* argv[]) } #ifdef WITH_GRPC - grpc_shutdown(); + if (params.grpc_needed()) { + grpc_shutdown(); + } #endif curl_global_cleanup(); diff --git a/src/params.cpp b/src/params.cpp index 0b81648..631a449 100644 --- a/src/params.cpp +++ b/src/params.cpp @@ -21,6 +21,11 @@ #include "p2p_server.h" #include +#ifdef WITH_GRPC +#include "merge_mining_client.h" +#include "merge_mining_client_tari.h" +#endif + LOG_CATEGORY(Params) void p2pool_usage(); @@ -476,6 +481,20 @@ bool Params::valid() const return true; } +#ifdef WITH_GRPC +bool Params::grpc_needed() const +{ + for (const MergeMiningHost& h : m_mergeMiningHosts) { + if (h.m_host.find(MergeMiningClientTari::TARI_PREFIX) == 0) { + return true; + } + } + + return false; +} +#endif + + bool Params::Host::init_display_name(const Params& p) { m_displayName = m_address; diff --git a/src/params.h b/src/params.h index e6f49e7..a330b46 100644 --- a/src/params.h +++ b/src/params.h @@ -33,6 +33,10 @@ struct Params bool valid() const; +#ifdef WITH_GRPC + bool grpc_needed() const; +#endif + struct Host { Host() : m_address("127.0.0.1"), m_rpcPort(18081), m_zmqPort(18083), m_rpcSSL(false) {}