aboutsummaryrefslogtreecommitdiff
path: root/src/rpc/blockchain.cpp
diff options
context:
space:
mode:
authorAndrew Toth <andrewstoth@gmail.com>2022-10-17 09:11:50 -0400
committerAndrew Toth <andrewstoth@gmail.com>2022-12-06 15:07:04 -0500
commitefd82aec8a2dd0fca8f2597c3f84cefe057d1243 (patch)
treea3c1c772bc6ea84d3bd227d800949dfb56309796 /src/rpc/blockchain.cpp
parentf00808e932c1f67bc76702a3f05778074b10025c (diff)
downloadbitcoin-efd82aec8a2dd0fca8f2597c3f84cefe057d1243.tar.xz
rpc: reduce LOCK(cs_main) scope in blockToJSON
Diffstat (limited to 'src/rpc/blockchain.cpp')
-rw-r--r--src/rpc/blockchain.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/rpc/blockchain.cpp b/src/rpc/blockchain.cpp
index d95953f7d3..39242ce374 100644
--- a/src/rpc/blockchain.cpp
+++ b/src/rpc/blockchain.cpp
@@ -181,7 +181,8 @@ UniValue blockToJSON(BlockManager& blockman, const CBlock& block, const CBlockIn
case TxVerbosity::SHOW_DETAILS:
case TxVerbosity::SHOW_DETAILS_AND_PREVOUT:
CBlockUndo blockUndo;
- const bool have_undo{WITH_LOCK(::cs_main, return !blockman.IsBlockPruned(blockindex) && UndoReadFromDisk(blockUndo, blockindex))};
+ const bool is_not_pruned{WITH_LOCK(::cs_main, return !blockman.IsBlockPruned(blockindex))};
+ const bool have_undo{is_not_pruned && UndoReadFromDisk(blockUndo, blockindex)};
for (size_t i = 0; i < block.vtx.size(); ++i) {
const CTransactionRef& tx = block.vtx.at(i);