diff options
author | João Barbosa <joao.paulo.barbosa@gmail.com> | 2018-12-12 23:21:19 +0000 |
---|---|---|
committer | João Barbosa <joao.paulo.barbosa@gmail.com> | 2019-01-15 00:01:00 +0000 |
commit | c37851de5752f107c16e19317f28038b6b7ca2dc (patch) | |
tree | 9630a18acef413ea7fed27268037db1a84ead1f5 /src/wallet/init.cpp | |
parent | e7b88ecbc920321290941bc68e4a71634889c3cb (diff) | |
download | bitcoin-c37851de5752f107c16e19317f28038b6b7ca2dc.tar.xz |
rpc: Make unloadwallet wait for complete wallet unload
Diffstat (limited to 'src/wallet/init.cpp')
-rw-r--r-- | src/wallet/init.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/wallet/init.cpp b/src/wallet/init.cpp index 14d811c6cd..87cd264c3d 100644 --- a/src/wallet/init.cpp +++ b/src/wallet/init.cpp @@ -242,7 +242,11 @@ void StopWallets() void UnloadWallets() { - for (const std::shared_ptr<CWallet>& pwallet : GetWallets()) { - RemoveWallet(pwallet); + auto wallets = GetWallets(); + while (!wallets.empty()) { + auto wallet = wallets.back(); + wallets.pop_back(); + RemoveWallet(wallet); + UnloadWallet(std::move(wallet)); } } |