diff --git a/src/IRCNetwork.cpp b/src/IRCNetwork.cpp index b0c9bda1..412c4ddd 100644 --- a/src/IRCNetwork.cpp +++ b/src/IRCNetwork.cpp @@ -991,6 +991,7 @@ bool CIRCNetwork::Connect() { return false; if (CZNC::Get().GetServerThrottle(pServer->GetName())) { + // Can't connect right now, schedule retry later CZNC::Get().AddNetworkToQueue(this); return false; } diff --git a/src/znc.cpp b/src/znc.cpp index 9e66f3d2..f8b1cbcd 100644 --- a/src/znc.cpp +++ b/src/znc.cpp @@ -2009,6 +2009,10 @@ protected: }; void CZNC::SetConnectDelay(unsigned int i) { + if (i < 1) { + // Don't hammer server with our failed connects + i = 1; + } if (m_uiConnectDelay != i && m_pConnectQueueTimer != NULL) { m_pConnectQueueTimer->Start(i); } @@ -2057,7 +2061,6 @@ void CZNC::AddNetworkToQueue(CIRCNetwork *pNetwork) { } } - m_lpConnectQueue.push_back(pNetwork); EnableConnectQueue(); }