aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2022-05-20 14:54:33 +0200
committerHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2022-05-20 15:15:45 +0200
commit3919059deb60d6ead9defc9d213a3f0c2ab72e90 (patch)
tree5493bd50b9a5c758d61400e4b06f8303873a302e
parent4d0c00dffd13df9b055dbca244783c5de9ca23a5 (diff)
downloadbitcoin-3919059deb60d6ead9defc9d213a3f0c2ab72e90.tar.xz
refactor: Move code from ctor into private `BanMan::LoadBanlist()`
Co-authored-by: Anthony Towns <aj@erisian.com.au>
-rw-r--r--src/banman.cpp20
-rw-r--r--src/banman.h1
2 files changed, 14 insertions, 7 deletions
diff --git a/src/banman.cpp b/src/banman.cpp
index b28e3f7f7c..901d91809e 100644
--- a/src/banman.cpp
+++ b/src/banman.cpp
@@ -16,6 +16,19 @@
BanMan::BanMan(fs::path ban_file, CClientUIInterface* client_interface, int64_t default_ban_time)
: m_client_interface(client_interface), m_ban_db(std::move(ban_file)), m_default_ban_time(default_ban_time)
{
+ LoadBanlist();
+ DumpBanlist();
+}
+
+BanMan::~BanMan()
+{
+ DumpBanlist();
+}
+
+void BanMan::LoadBanlist()
+{
+ LOCK(m_cs_banned);
+
if (m_client_interface) m_client_interface->InitMessage(_("Loading banlist…").translated);
int64_t n_start = GetTimeMillis();
@@ -29,13 +42,6 @@ BanMan::BanMan(fs::path ban_file, CClientUIInterface* client_interface, int64_t
m_banned = {};
m_is_dirty = true;
}
-
- DumpBanlist();
-}
-
-BanMan::~BanMan()
-{
- DumpBanlist();
}
void BanMan::DumpBanlist()
diff --git a/src/banman.h b/src/banman.h
index f268fffa5a..b037b8869b 100644
--- a/src/banman.h
+++ b/src/banman.h
@@ -80,6 +80,7 @@ public:
void DumpBanlist();
private:
+ void LoadBanlist() EXCLUSIVE_LOCKS_REQUIRED(!m_cs_banned);
bool BannedSetIsDirty();
//!set the "dirty" flag for the banlist
void SetBannedSetDirty(bool dirty = true);