diff options
author | Jonas Schnelli <dev@jonasschnelli.ch> | 2017-12-13 11:06:51 -1000 |
---|---|---|
committer | Jonas Schnelli <dev@jonasschnelli.ch> | 2018-01-23 20:24:53 -1000 |
commit | ccd8ef65f93ed82a87cee634660bed3ac17d9eb5 (patch) | |
tree | 41ec340b182e8711b7b47a76e126f4a003396fc1 /src/wallet/wallet.cpp | |
parent | bc356b4268e222ac57d9e9297d2a986bb6e09de8 (diff) |
Reduce cs_main lock in ReadBlockFromDisk, only read GetBlockPos under the lock
Diffstat (limited to 'src/wallet/wallet.cpp')
-rw-r--r-- | src/wallet/wallet.cpp | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/src/wallet/wallet.cpp b/src/wallet/wallet.cpp index 3bf649f266..dd9bc64728 100644 --- a/src/wallet/wallet.cpp +++ b/src/wallet/wallet.cpp @@ -1689,13 +1689,8 @@ CBlockIndex* CWallet::ScanForWalletTransactions(CBlockIndex* pindexStart, CBlock LogPrintf("Still rescanning. At block %d. Progress=%f\n", pindex->nHeight, GuessVerificationProgress(chainParams.TxData(), pindex)); } - bool readRet = false; CBlock block; - { - LOCK(cs_main); - readRet = ReadBlockFromDisk(block, pindex, Params().GetConsensus()); - } - if (readRet) { + if (ReadBlockFromDisk(block, pindex, Params().GetConsensus())) { LOCK2(cs_main, cs_wallet); if (pindex && !chainActive.Contains(pindex)) { // Abort scan if current block is no longer active, to prevent |