diff options
author | MarcoFalke <falke.marco@gmail.com> | 2017-10-05 15:03:09 +0200 |
---|---|---|
committer | MarcoFalke <falke.marco@gmail.com> | 2017-10-05 15:03:36 +0200 |
commit | e93fff1463ae906fc986bf98c3b118c82f171546 (patch) | |
tree | fba3664124d66293914cb45ff680cbc72c33b327 /src/wallet | |
parent | 167cef8082e25e3ebbcd602814f3012772d49d16 (diff) | |
parent | c626dcb50eed496462fd4ac3e05bf79164749ebe (diff) |
Merge #11107: Fix races in AppInitMain and others with lock and atomic bools
c626dcb50 Make fUseCrypto atomic (MeshCollider)
731065b11 Consistent parameter names in txdb.h (MeshCollider)
35aeabec6 Make fReindex atomic to avoid race (MeshCollider)
58d91af59 Fix race for mapBlockIndex in AppInitMain (MeshCollider)
Pull request description:
Fixes https://github.com/bitcoin/bitcoin/issues/11106
Also makes fReindex atomic as suggested in @TheBlueMatt comment below, and makes fUseCrypto atomic as suggested in 10916
https://github.com/bitcoin/bitcoin/pull/11107/commits/d291e7635b0ef4156c2805c6c4ee1adad91f0307 just renames the parameters in the txdb header file to make them consistent with those used in the cpp file, noticed it when looking for uses of fReindex
Tree-SHA512: b378aa7289fd505b76565cd4d48dcdc04ac5540283ea1c80442170b0f13cb6df771b1a94dd54b7fec3478a7b4668c224ec9d795f16937782724c5d020edd3a42
Diffstat (limited to 'src/wallet')
-rw-r--r-- | src/wallet/crypter.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/wallet/crypter.h b/src/wallet/crypter.h index eac258b287..1416ae7d02 100644 --- a/src/wallet/crypter.h +++ b/src/wallet/crypter.h @@ -9,6 +9,8 @@ #include "serialize.h" #include "support/allocators/secure.h" +#include <atomic> + const unsigned int WALLET_CRYPTO_KEY_SIZE = 32; const unsigned int WALLET_CRYPTO_SALT_SIZE = 8; const unsigned int WALLET_CRYPTO_IV_SIZE = 16; @@ -118,7 +120,7 @@ private: //! if fUseCrypto is true, mapKeys must be empty //! if fUseCrypto is false, vMasterKey must be empty - bool fUseCrypto; + std::atomic<bool> fUseCrypto; //! keeps track of whether Unlock has run a thorough check before bool fDecryptionThoroughlyChecked; |