diff --git a/src/p2p_server.cpp b/src/p2p_server.cpp index 8dbc229..bf17ef3 100644 --- a/src/p2p_server.cpp +++ b/src/p2p_server.cpp @@ -165,7 +165,9 @@ void P2PServer::update_peer_connections() connected_clients.reserve(m_numConnections); for (P2PClient* client = static_cast(m_connectedClientsList->m_next); client != m_connectedClientsList; client = static_cast(client->m_next)) { connected_clients.emplace_back(client->m_addr); - if (cur_time > client->m_lastAlive + 5 * 60) { + + const int timeout = client->m_handshakeComplete ? 300 : 5; + if (cur_time >= client->m_lastAlive + timeout) { const uint64_t idle_time = static_cast(cur_time - client->m_lastAlive); LOGWARN(5, "peer " << static_cast(client->m_addrString) << " has been idle for " << idle_time << " seconds, disconnecting"); client->close();