From 470316c3bf5ca343d5d66b94839169a4572eceb7 Mon Sep 17 00:00:00 2001 From: John Newbery Date: Thu, 19 Apr 2018 17:42:40 -0400 Subject: [PATCH] [wallet] setup wallet background flushing in WalletInit directly WalletInit::Start calls postInitProcess() for each wallet. Previously each call to postInitProcess() would attempt to schedule wallet background flushing. Just start wallet background flushing once from WalletInit::Start(). --- src/wallet/init.cpp | 6 +++++- src/wallet/wallet.cpp | 10 +--------- src/wallet/wallet.h | 4 +--- 3 files changed, 7 insertions(+), 13 deletions(-) diff --git a/src/wallet/init.cpp b/src/wallet/init.cpp index 6c5522e4b..e9710012b 100644 --- a/src/wallet/init.cpp +++ b/src/wallet/init.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -264,8 +265,11 @@ bool WalletInit::Open() const void WalletInit::Start(CScheduler& scheduler) const { for (CWallet* pwallet : GetWallets()) { - pwallet->postInitProcess(scheduler); + pwallet->postInitProcess(); } + + // Run a thread to flush wallet periodically + scheduler.scheduleEvery(MaybeCompactWalletDB, 500); } void WalletInit::Flush() const diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index f9f567009..4d3e3813a 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -23,7 +23,6 @@ #include #include #include