Avoid unnecessary work in SetNetworkActive

This commit is contained in:
João Barbosa 2017-07-14 15:00:19 +01:00
parent db825d293b
commit a2420ae2f1
1 changed files with 6 additions and 4 deletions

View File

@ -2182,16 +2182,18 @@ void CConnman::SetNetworkActive(bool active)
{ {
LogPrint(BCLog::NET, "SetNetworkActive: %s\n", active); LogPrint(BCLog::NET, "SetNetworkActive: %s\n", active);
if (!active) { if (fNetworkActive == active) {
fNetworkActive = false; return;
}
fNetworkActive = active;
if (!fNetworkActive) {
LOCK(cs_vNodes); LOCK(cs_vNodes);
// Close sockets to all nodes // Close sockets to all nodes
for (CNode* pnode : vNodes) { for (CNode* pnode : vNodes) {
pnode->CloseSocketDisconnect(); pnode->CloseSocketDisconnect();
} }
} else {
fNetworkActive = true;
} }
uiInterface.NotifyNetworkActiveChanged(fNetworkActive); uiInterface.NotifyNetworkActiveChanged(fNetworkActive);