From da4686b88f472bae99d93a0902959a1563573a50 Mon Sep 17 00:00:00 2001 From: SChernykh Date: Thu, 28 Oct 2021 20:05:40 +0200 Subject: [PATCH] ZMQReader: start after initial RPC calls are finished --- src/p2pool.cpp | 3 ++- src/p2pool.h | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/p2pool.cpp b/src/p2pool.cpp index 9ecf393..fc1642b 100644 --- a/src/p2pool.cpp +++ b/src/p2pool.cpp @@ -533,6 +533,7 @@ void p2pool::download_block_headers(uint64_t current_height) if (parse_block_headers_range(data, size) == BLOCK_HEADERS_REQUIRED) { update_median_timestamp(); if (m_serversStarted.exchange(1) == 0) { + m_ZMQReader = new ZMQReader(m_params->m_host.c_str(), m_params->m_zmqPort, this); m_stratumServer = new StratumServer(this); m_p2pServer = new P2PServer(this); api_update_network_stats(); @@ -1222,11 +1223,11 @@ int p2pool::run() } try { - ZMQReader z(m_params->m_host.c_str(), m_params->m_zmqPort, this); get_info(); load_found_blocks(); const int rc = uv_run(uv_default_loop_checked(), UV_RUN_DEFAULT); LOGINFO(1, "uv_run exited, result = " << rc); + delete m_ZMQReader; } catch (const std::exception& e) { const char* s = e.what(); diff --git a/src/p2pool.h b/src/p2pool.h index 144bb5e..de44c5a 100644 --- a/src/p2pool.h +++ b/src/p2pool.h @@ -31,6 +31,7 @@ class StratumServer; class P2PServer; class ConsoleCommands; class p2pool_api; +class ZMQReader; class p2pool : public MinerCallbackHandler { @@ -172,6 +173,8 @@ private: time_t m_zmqLastActive; time_t m_startTime; + + ZMQReader* m_ZMQReader = nullptr; }; } // namespace p2pool