aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/net.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/net.cpp b/src/net.cpp
index 88a8edebc3..15ddaac63d 100644
--- a/src/net.cpp
+++ b/src/net.cpp
@@ -1455,9 +1455,7 @@ void DumpAddresses()
void DumpData()
{
DumpAddresses();
-
- if (CNode::BannedSetIsDirty())
- DumpBanlist();
+ DumpBanlist();
}
void static ProcessOneShot()
@@ -2474,22 +2472,26 @@ bool CBanDB::Read(banmap_t& banSet)
// ... verify the network matches ours
if (memcmp(pchMsgTmp, Params().MessageStart(), sizeof(pchMsgTmp)))
return error("%s: Invalid network magic number", __func__);
-
+
// de-serialize address data into one CAddrMan object
ssBanlist >> banSet;
}
catch (const std::exception& e) {
return error("%s: Deserialize or I/O error - %s", __func__, e.what());
}
-
+
return true;
}
void DumpBanlist()
{
- int64_t nStart = GetTimeMillis();
CNode::SweepBanned(); // clean unused entries (if bantime has expired)
+ if (!CNode::BannedSetIsDirty())
+ return;
+
+ int64_t nStart = GetTimeMillis();
+
CBanDB bandb;
banmap_t banmap;
CNode::GetBanned(banmap);