From 876a2585a8b69e12ac171a0d9ff5aab864067c42 Mon Sep 17 00:00:00 2001 From: Ava Chow Date: Thu, 6 Mar 2025 11:49:43 -0800 Subject: [PATCH] wallet: Remove unnecessary database Close step on shutdown StopWallets, which was being called prior to UnloadWallets, performs an unnecessary database closing step. This causes issues in UnloadWallets which does additional database cleanups. Since the database closing step is unnecessary, StopWallets is removed, and UnloadWallets is now called from WalletLoaderImpl::stop. --- src/wallet/interfaces.cpp | 4 ++-- src/wallet/load.cpp | 7 ------- src/wallet/load.h | 4 ---- 3 files changed, 2 insertions(+), 13 deletions(-) diff --git a/src/wallet/interfaces.cpp b/src/wallet/interfaces.cpp index 5308b4418d7..a093dab7e70 100644 --- a/src/wallet/interfaces.cpp +++ b/src/wallet/interfaces.cpp @@ -553,7 +553,7 @@ public: m_context.chain = &chain; m_context.args = &args; } - ~WalletLoaderImpl() override { UnloadWallets(m_context); } + ~WalletLoaderImpl() override { stop(); } //! ChainClient methods void registerRpcs() override @@ -574,7 +574,7 @@ public: m_context.scheduler = &scheduler; return StartWallets(m_context); } - void stop() override { return StopWallets(m_context); } + void stop() override { return UnloadWallets(m_context); } void setMockTime(int64_t time) override { return SetMockTime(time); } void schedulerMockForward(std::chrono::seconds delta) override { Assert(m_context.scheduler)->MockForward(delta); } diff --git a/src/wallet/load.cpp b/src/wallet/load.cpp index 3fdad7d6fb1..379f606f088 100644 --- a/src/wallet/load.cpp +++ b/src/wallet/load.cpp @@ -162,13 +162,6 @@ void StartWallets(WalletContext& context) context.scheduler->scheduleEvery([&context] { MaybeResendWalletTxs(context); }, 1min); } -void StopWallets(WalletContext& context) -{ - for (const std::shared_ptr& pwallet : GetWallets(context)) { - pwallet->Close(); - } -} - void UnloadWallets(WalletContext& context) { auto wallets = GetWallets(context); diff --git a/src/wallet/load.h b/src/wallet/load.h index e7224c27ee9..20859d5c4d8 100644 --- a/src/wallet/load.h +++ b/src/wallet/load.h @@ -28,10 +28,6 @@ bool LoadWallets(WalletContext& context); //! Complete startup of wallets. void StartWallets(WalletContext& context); -//! Stop all wallets. Wallets will be flushed first. -void StopWallets(WalletContext& context); - -//! Close all wallets. void UnloadWallets(WalletContext& context); } // namespace wallet