bitcoin/src/wallet/test
Samuel Dobson 200d97faf2
Merge bitcoin/bitcoin#22868: wallet: Call load handlers without cs_wallet locked
f13a22a631 wallet: Call load handlers without cs_wallet locked (João Barbosa)

Pull request description:

  Don't have `cs_wallet` locked while calling each `context.wallet_load_fns`. A load handler can always lock `cs_wallet` if needed.

  The lock was added in 1c7e25db0c to satisfy TSAN. With 44c430ffac most of the code requiring the lock is in `CWallet::AttachChain`. A comment is added to warn about wallets_mutex and cs_wallet lock ordering.

ACKs for top commit:
  meshcollider:
    re-utACK f13a22a631
  ryanofsky:
    Code review ACK f13a22a631. Only change since last review is adding a lock order comment
  jonatack:
    ACK f13a22a631

Tree-SHA512: d51976c3aae4bebc2d1997c88edff712d21fc5523801f5614062a10f826e164579973aeb1981bb1cbc243ecff6af3250362f544c02a79e5d135cbbca1704be62
2021-11-27 22:30:46 +13:00
..
fuzz Create a tr() descriptor bech32m DescriptorScriptPubKeyMan by default 2021-11-16 12:20:13 -05:00
coinselector_tests.cpp refactor: Make CWalletTx sync state type-safe 2021-11-15 09:11:44 -05:00
db_tests.cpp refactor: Block unsafe fs::path std::string conversion calls 2021-10-05 11:10:47 -04:00
init_test_fixture.cpp refactor: Block unsafe fs::path std::string conversion calls 2021-10-05 11:10:47 -04:00
init_test_fixture.h scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
init_tests.cpp refactor: Block unsafe fs::path std::string conversion calls 2021-10-05 11:10:47 -04:00
ismine_tests.cpp Remove gArgs from wallet.h and wallet.cpp 2021-11-09 11:27:06 +01:00
psbt_wallet_tests.cpp refactor: Make CWalletTx sync state type-safe 2021-11-15 09:11:44 -05:00
scriptpubkeyman_tests.cpp Remove gArgs from wallet.h and wallet.cpp 2021-11-09 11:27:06 +01:00
spend_tests.cpp Remove gArgs from wallet.h and wallet.cpp 2021-11-09 11:27:06 +01:00
util.cpp Remove gArgs from wallet.h and wallet.cpp 2021-11-09 11:27:06 +01:00
util.h Remove gArgs from wallet.h and wallet.cpp 2021-11-09 11:27:06 +01:00
wallet_crypto_tests.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00
wallet_test_fixture.cpp Remove gArgs from wallet.h and wallet.cpp 2021-11-09 11:27:06 +01:00
wallet_test_fixture.h test: Fix segfault in the psbt_wallet_tests/psbt_updater_test 2021-10-31 13:48:00 +02:00
wallet_tests.cpp Merge bitcoin/bitcoin#22868: wallet: Call load handlers without cs_wallet locked 2021-11-27 22:30:46 +13:00
wallet_transaction_tests.cpp refactor: Make CWalletTx sync state type-safe 2021-11-15 09:11:44 -05:00
walletdb_tests.cpp scripted-diff: Bump copyright headers 2020-12-31 09:45:41 +01:00