diff --git a/src/init.cpp b/src/init.cpp index 6d250a25c..d1ffe126d 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -189,7 +189,7 @@ void Shutdown() StopRPC(); StopHTTPServer(); #ifdef ENABLE_WALLET - FlushWallets(false); + FlushWallets(); #endif MapPort(false); UnregisterValidationInterface(peerLogic.get()); @@ -244,7 +244,7 @@ void Shutdown() pblocktree = nullptr; } #ifdef ENABLE_WALLET - FlushWallets(true); + StopWallets(); #endif #if ENABLE_ZMQ diff --git a/src/wallet/init.cpp b/src/wallet/init.cpp index f58f3bc54..2b5c6b173 100644 --- a/src/wallet/init.cpp +++ b/src/wallet/init.cpp @@ -246,8 +246,14 @@ bool OpenWallets() return true; } -void FlushWallets(bool shutdown) { +void FlushWallets() { for (CWalletRef pwallet : vpwallets) { - pwallet->Flush(shutdown); + pwallet->Flush(false); + } +} + +void StopWallets() { + for (CWalletRef pwallet : vpwallets) { + pwallet->Flush(true); } } diff --git a/src/wallet/init.h b/src/wallet/init.h index 5445c72d1..c06b05847 100644 --- a/src/wallet/init.h +++ b/src/wallet/init.h @@ -23,6 +23,8 @@ bool VerifyWallets(); bool OpenWallets(); //! Flush all wallets in preparation for shutdown. -//! Call with shutdown = true to actually shutdown the wallet. -void FlushWallets(bool shutdown); +void FlushWallets(); + +//! Stop all wallets. Wallets will be flushed first. +void StopWallets(); #endif // BITCOIN_WALLET_INIT_H