diff --git a/src/p2p_server.cpp b/src/p2p_server.cpp index 6ae4bb7..d1a0b45 100644 --- a/src/p2p_server.cpp +++ b/src/p2p_server.cpp @@ -2183,9 +2183,12 @@ bool P2PServer::P2PClient::handle_incoming_block_async(const PoolBlock* block, u // Limit system clock difference between connected peers // Check only new blocks (not added to side_chain yet) if (max_time_delta && !side_chain.find_block(block->m_sidechainId)) { - static hash prev_checked_block; - const bool is_new = (block->m_sidechainId != prev_checked_block); - prev_checked_block = block->m_sidechainId; + static hash prev_checked_blocks[2]; + const bool is_new = (block->m_sidechainId != prev_checked_blocks[0]) && (block->m_sidechainId != prev_checked_blocks[1]); + if (is_new) { + prev_checked_blocks[1] = prev_checked_blocks[0]; + prev_checked_blocks[0] = block->m_sidechainId; + } const uint64_t t = time(nullptr); const uint32_t failed = ((block->m_timestamp + max_time_delta < t) || (block->m_timestamp > t + max_time_delta)) ? 1 : 0; diff --git a/src/side_chain.cpp b/src/side_chain.cpp index 5680361..76cac8e 100644 --- a/src/side_chain.cpp +++ b/src/side_chain.cpp @@ -2156,8 +2156,11 @@ void SideChain::finish_precalc() if (m_pool) { LOGINFO(0, log::LightGreen() << "[DEV] Synchronization finished successfully, stopping P2Pool now"); print_status(false); - if (m_pool->p2p_server()) { - m_pool->p2p_server()->print_status(); + P2PServer* server = m_pool->p2p_server(); + if (server) { + server->print_status(); + server->print_bans(); + server->show_peers_async(); } m_pool->stop(); }