diff --git a/src/keystore.cpp b/src/keystore.cpp index ef1878a9b..7240cd747 100644 --- a/src/keystore.cpp +++ b/src/keystore.cpp @@ -86,7 +86,7 @@ bool CBasicKeyStore::HaveWatchOnly() const bool CBasicKeyStore::AddSpendingKey(const libzcash::SpendingKey &sk) { - LOCK(cs_KeyStore); + LOCK(cs_SpendingKeyStore); mapSpendingKeys[sk.address()] = sk; return true; } diff --git a/src/keystore.h b/src/keystore.h index 927ebe221..987f32070 100644 --- a/src/keystore.h +++ b/src/keystore.h @@ -21,6 +21,7 @@ class CKeyStore { protected: mutable CCriticalSection cs_KeyStore; + mutable CCriticalSection cs_SpendingKeyStore; public: virtual ~CKeyStore() {} @@ -120,7 +121,7 @@ public: { bool result; { - LOCK(cs_KeyStore); + LOCK(cs_SpendingKeyStore); result = (mapSpendingKeys.count(address) > 0); } return result; @@ -128,7 +129,7 @@ public: bool GetSpendingKey(const libzcash::PaymentAddress &address, libzcash::SpendingKey &skOut) const { { - LOCK(cs_KeyStore); + LOCK(cs_SpendingKeyStore); SpendingKeyMap::const_iterator mi = mapSpendingKeys.find(address); if (mi != mapSpendingKeys.end()) { @@ -142,7 +143,7 @@ public: { setAddress.clear(); { - LOCK(cs_KeyStore); + LOCK(cs_SpendingKeyStore); SpendingKeyMap::const_iterator mi = mapSpendingKeys.begin(); while (mi != mapSpendingKeys.end()) {