From 125815b5028f3ac2f3d992ec28864dd5becae370 Mon Sep 17 00:00:00 2001 From: SChernykh Date: Wed, 25 Aug 2021 21:00:06 +0200 Subject: [PATCH] Made print_status() thread-safe --- src/side_chain.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/side_chain.cpp b/src/side_chain.cpp index bbe0b6d..db82f34 100644 --- a/src/side_chain.cpp +++ b/src/side_chain.cpp @@ -548,6 +548,11 @@ bool SideChain::get_outputs_blob(PoolBlock* block, uint64_t total_reward, std::v void SideChain::print_status() { + std::vector blocks_in_window; + blocks_in_window.reserve(m_chainWindowSize * 9 / 8); + + MutexLock lock(m_sidechainLock); + uint64_t rem; uint64_t pool_hashrate = udiv128(m_curDifficulty.hi, m_curDifficulty.lo, m_targetBlockTime, &rem); @@ -564,9 +569,6 @@ void SideChain::print_status() uint32_t our_blocks_in_window = 0; uint32_t our_uncles_in_window = 0; - std::vector blocks_in_window; - blocks_in_window.reserve(m_chainWindowSize * 9 / 8); - while (cur) { blocks_in_window.emplace_back(cur->m_sidechainId); ++total_blocks_in_window;