From e07c943ce8df6c6cb3ece3fc676911ddb43ca184 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Tue, 15 Apr 2014 12:43:17 +0200 Subject: Add AssertLockHeld for cs_main to ChainActive-using functions All functions that use ChainActive but do not aquire the cs_main lock themselves, need to be called with the cs_main lock held. This commit adds assertions to all externally callable functions that use chainActive or chainMostWork. This will flag usages when built with -DDEBUG_LOCKORDER. --- src/qt/transactionrecord.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/qt/transactionrecord.cpp') diff --git a/src/qt/transactionrecord.cpp b/src/qt/transactionrecord.cpp index 703a2b4e7..5a3728f49 100644 --- a/src/qt/transactionrecord.cpp +++ b/src/qt/transactionrecord.cpp @@ -150,6 +150,7 @@ QList TransactionRecord::decomposeTransaction(const CWallet * void TransactionRecord::updateStatus(const CWalletTx &wtx) { + AssertLockHeld(cs_main); // Determine transaction status // Find the block the tx is in @@ -234,6 +235,7 @@ void TransactionRecord::updateStatus(const CWalletTx &wtx) bool TransactionRecord::statusUpdateNeeded() { + AssertLockHeld(cs_main); return status.cur_num_blocks != chainActive.Height(); } -- cgit v1.2.3