diff --git a/src/net.cpp b/src/net.cpp index 0448b09d9e3b..bb44627a2413 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -2102,11 +2102,18 @@ void CConnman::ThreadOpenMasternodeConnections() auto& chainParams = Params(); + bool didConnect = false; while (!interruptNet) { - if (!interruptNet.sleep_for(std::chrono::milliseconds(1000))) + int sleepTime = 1000; + if (didConnect) { + sleepTime = 100; + } + if (!interruptNet.sleep_for(std::chrono::milliseconds(sleepTime))) return; + didConnect = false; + std::set connectedNodes; std::set connectedProRegTxHashes; ForEachNode([&](const CNode* pnode) { @@ -2170,6 +2177,8 @@ void CConnman::ThreadOpenMasternodeConnections() continue; } + didConnect = true; + mmetaman.GetMetaInfo(connectToDmn->proTxHash)->SetLastOutboundAttempt(nANow); OpenMasternodeConnection(CAddress(connectToDmn->pdmnState->addr, NODE_NETWORK));