From 5cea7be4053b3aa89fef46916c6b0800bf4f2ef0 Mon Sep 17 00:00:00 2001 From: SChernykh Date: Thu, 12 May 2022 00:18:02 +0200 Subject: [PATCH] Allow only one pending get_miner_data --- src/p2pool.cpp | 9 ++++++++- src/p2pool.h | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/p2pool.cpp b/src/p2pool.cpp index be8eebf..c88925f 100644 --- a/src/p2pool.cpp +++ b/src/p2pool.cpp @@ -911,6 +911,8 @@ void p2pool::parse_get_version_rpc(const char* data, size_t size) void p2pool::get_miner_data() { + m_getMinerDataPending = true; + JSONRPCRequest::call(m_params->m_host.c_str(), m_params->m_rpcPort, "{\"jsonrpc\":\"2.0\",\"id\":\"0\",\"method\":\"get_miner_data\"}", [this](const char* data, size_t size) { @@ -923,6 +925,9 @@ void p2pool::get_miner_data() std::this_thread::sleep_for(std::chrono::milliseconds(1000)); get_miner_data(); } + else { + m_getMinerDataPending = false; + } }); } @@ -1407,7 +1412,9 @@ void p2pool::restart_zmq() return; } - get_miner_data(); + if (!m_getMinerDataPending) { + get_miner_data(); + } delete m_ZMQReader; m_ZMQReader = nullptr; diff --git a/src/p2pool.h b/src/p2pool.h index 6e0d69a..f3dc11e 100644 --- a/src/p2pool.h +++ b/src/p2pool.h @@ -204,6 +204,7 @@ private: ZMQReader* m_ZMQReader = nullptr; hash m_getMinerDataHash; + bool m_getMinerDataPending = false; }; } // namespace p2pool