mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-24 10:17:45 -03:00
wallet: rename UnloadWallet to WaitForDeleteWallet
And update function's documentation.
This commit is contained in:
parent
5d15485aaf
commit
8872b4a6ca
7 changed files with 13 additions and 16 deletions
|
@ -42,7 +42,7 @@ static void WalletCreate(benchmark::Bench& bench, bool encrypted)
|
|||
|
||||
// Release wallet
|
||||
RemoveWallet(context, wallet, /*load_on_start=*/ std::nullopt);
|
||||
UnloadWallet(std::move(wallet));
|
||||
WaitForDeleteWallet(std::move(wallet));
|
||||
fs::remove_all(wallet_path);
|
||||
});
|
||||
}
|
||||
|
|
|
@ -178,7 +178,7 @@ void UnloadWallets(WalletContext& context)
|
|||
wallets.pop_back();
|
||||
std::vector<bilingual_str> warnings;
|
||||
RemoveWallet(context, wallet, /* load_on_start= */ std::nullopt, warnings);
|
||||
UnloadWallet(std::move(wallet));
|
||||
WaitForDeleteWallet(std::move(wallet));
|
||||
}
|
||||
}
|
||||
} // namespace wallet
|
||||
|
|
|
@ -495,7 +495,7 @@ static RPCHelpMan unloadwallet()
|
|||
}
|
||||
}
|
||||
|
||||
UnloadWallet(std::move(wallet));
|
||||
WaitForDeleteWallet(std::move(wallet));
|
||||
|
||||
UniValue result(UniValue::VOBJ);
|
||||
PushWarnings(warnings, result);
|
||||
|
|
|
@ -74,7 +74,7 @@ void TestUnloadWallet(std::shared_ptr<CWallet>&& wallet)
|
|||
// Calls SyncWithValidationInterfaceQueue
|
||||
wallet->chain().waitForNotificationsIfTipChanged({});
|
||||
wallet->m_chain_notifications_handler.reset();
|
||||
UnloadWallet(std::move(wallet));
|
||||
WaitForDeleteWallet(std::move(wallet));
|
||||
}
|
||||
|
||||
std::unique_ptr<WalletDatabase> DuplicateMockDatabase(WalletDatabase& database)
|
||||
|
|
|
@ -889,7 +889,7 @@ BOOST_FIXTURE_TEST_CASE(CreateWalletWithoutChain, BasicTestingSetup)
|
|||
context.args = &m_args;
|
||||
auto wallet = TestLoadWallet(context);
|
||||
BOOST_CHECK(wallet);
|
||||
UnloadWallet(std::move(wallet));
|
||||
WaitForDeleteWallet(std::move(wallet));
|
||||
}
|
||||
|
||||
BOOST_FIXTURE_TEST_CASE(RemoveTxs, TestChain100Setup)
|
||||
|
|
|
@ -233,18 +233,18 @@ static void ReleaseWallet(CWallet* wallet)
|
|||
wallet->WalletLogPrintf("Releasing wallet\n");
|
||||
wallet->Flush();
|
||||
delete wallet;
|
||||
// Wallet is now released, notify UnloadWallet, if any.
|
||||
// Wallet is now released, notify WaitForDeleteWallet, if any.
|
||||
{
|
||||
LOCK(g_wallet_release_mutex);
|
||||
if (g_unloading_wallet_set.erase(name) == 0) {
|
||||
// UnloadWallet was not called for this wallet, all done.
|
||||
// WaitForDeleteWallet was not called for this wallet, all done.
|
||||
return;
|
||||
}
|
||||
}
|
||||
g_wallet_release_cv.notify_all();
|
||||
}
|
||||
|
||||
void UnloadWallet(std::shared_ptr<CWallet>&& wallet)
|
||||
void WaitForDeleteWallet(std::shared_ptr<CWallet>&& wallet)
|
||||
{
|
||||
// Mark wallet for unloading.
|
||||
const std::string name = wallet->GetName();
|
||||
|
@ -4387,7 +4387,7 @@ util::Result<MigrationResult> MigrateLegacyToDescriptor(const std::string& walle
|
|||
if (!RemoveWallet(context, wallet, /*load_on_start=*/std::nullopt, warnings)) {
|
||||
return util::Error{_("Unable to unload the wallet before migrating")};
|
||||
}
|
||||
UnloadWallet(std::move(wallet));
|
||||
WaitForDeleteWallet(std::move(wallet));
|
||||
was_loaded = true;
|
||||
} else {
|
||||
// Check if the wallet is BDB
|
||||
|
@ -4531,7 +4531,7 @@ util::Result<MigrationResult> MigrateLegacyToDescriptor(const std::string& walle
|
|||
error += _("\nUnable to cleanup failed migration");
|
||||
return util::Error{error};
|
||||
}
|
||||
UnloadWallet(std::move(w));
|
||||
WaitForDeleteWallet(std::move(w));
|
||||
} else {
|
||||
// Unloading for wallets in local context
|
||||
assert(w.use_count() == 1);
|
||||
|
|
|
@ -83,12 +83,9 @@ struct bilingual_str;
|
|||
namespace wallet {
|
||||
struct WalletContext;
|
||||
|
||||
//! Explicitly unload and delete the wallet.
|
||||
//! Blocks the current thread after signaling the unload intent so that all
|
||||
//! wallet pointer owners release the wallet.
|
||||
//! Note that, when blocking is not required, the wallet is implicitly unloaded
|
||||
//! by the shared pointer deleter.
|
||||
void UnloadWallet(std::shared_ptr<CWallet>&& wallet);
|
||||
//! Explicitly delete the wallet.
|
||||
//! Blocks the current thread until the wallet is destructed.
|
||||
void WaitForDeleteWallet(std::shared_ptr<CWallet>&& wallet);
|
||||
|
||||
bool AddWallet(WalletContext& context, const std::shared_ptr<CWallet>& wallet);
|
||||
bool RemoveWallet(WalletContext& context, const std::shared_ptr<CWallet>& wallet, std::optional<bool> load_on_start, std::vector<bilingual_str>& warnings);
|
||||
|
|
Loading…
Add table
Reference in a new issue