Add GUARDED_BY(cs_wallet) for encrypted_batch, nWalletMaxVersion, m_max_keypool_index and nOrderPosNext
* AddKeyPubKeyWithDB(...) reads encrypted_batch which potentially races with write in the same method. * IncOrderPosNext(...) reads nOrderPosNext which potentially races with write in BlockDisconnected(...). * LoadKeyPool(...) reads m_max_keypool_index which potentially races with write in BlockDisconnected(...). * LoadMinVersion(...) reads nWalletMaxVersion which potentially races with write in BlockDisconnected(...).
This commit is contained in:
parent
dee42927c9
commit
37b2538c2d
1 changed files with 4 additions and 4 deletions
|
@ -601,13 +601,13 @@ private:
|
||||||
std::mutex mutexScanning;
|
std::mutex mutexScanning;
|
||||||
friend class WalletRescanReserver;
|
friend class WalletRescanReserver;
|
||||||
|
|
||||||
WalletBatch *encrypted_batch = nullptr;
|
WalletBatch *encrypted_batch GUARDED_BY(cs_wallet) = nullptr;
|
||||||
|
|
||||||
//! the current wallet version: clients below this version are not able to load the wallet
|
//! the current wallet version: clients below this version are not able to load the wallet
|
||||||
int nWalletVersion = FEATURE_BASE;
|
int nWalletVersion = FEATURE_BASE;
|
||||||
|
|
||||||
//! the maximum wallet format version: memory-only variable that specifies to what version this wallet may be upgraded
|
//! the maximum wallet format version: memory-only variable that specifies to what version this wallet may be upgraded
|
||||||
int nWalletMaxVersion = FEATURE_BASE;
|
int nWalletMaxVersion GUARDED_BY(cs_wallet) = FEATURE_BASE;
|
||||||
|
|
||||||
int64_t nNextResend = 0;
|
int64_t nNextResend = 0;
|
||||||
int64_t nLastResend = 0;
|
int64_t nLastResend = 0;
|
||||||
|
@ -659,7 +659,7 @@ private:
|
||||||
std::set<int64_t> setInternalKeyPool;
|
std::set<int64_t> setInternalKeyPool;
|
||||||
std::set<int64_t> setExternalKeyPool;
|
std::set<int64_t> setExternalKeyPool;
|
||||||
std::set<int64_t> set_pre_split_keypool;
|
std::set<int64_t> set_pre_split_keypool;
|
||||||
int64_t m_max_keypool_index = 0;
|
int64_t m_max_keypool_index GUARDED_BY(cs_wallet) = 0;
|
||||||
std::map<CKeyID, int64_t> m_pool_key_to_index;
|
std::map<CKeyID, int64_t> m_pool_key_to_index;
|
||||||
std::atomic<uint64_t> m_wallet_flags{0};
|
std::atomic<uint64_t> m_wallet_flags{0};
|
||||||
|
|
||||||
|
@ -754,7 +754,7 @@ public:
|
||||||
typedef std::multimap<int64_t, CWalletTx*> TxItems;
|
typedef std::multimap<int64_t, CWalletTx*> TxItems;
|
||||||
TxItems wtxOrdered;
|
TxItems wtxOrdered;
|
||||||
|
|
||||||
int64_t nOrderPosNext = 0;
|
int64_t nOrderPosNext GUARDED_BY(cs_wallet) = 0;
|
||||||
uint64_t nAccountingEntryNumber = 0;
|
uint64_t nAccountingEntryNumber = 0;
|
||||||
|
|
||||||
std::map<CTxDestination, CAddressBookData> mapAddressBook;
|
std::map<CTxDestination, CAddressBookData> mapAddressBook;
|
||||||
|
|
Loading…
Reference in a new issue