Add compile time checking for all ::mempool.cs runtime locking assertions

This commit is contained in:
practicalswift 2018-04-25 22:57:18 +02:00
parent f82e1c9482
commit cbba1d2da4
3 changed files with 5 additions and 5 deletions

View File

@ -23,6 +23,6 @@ bool SignalsOptInRBF(const CTransaction &tx);
// according to BIP 125 // according to BIP 125
// This involves checking sequence numbers of the transaction, as well // This involves checking sequence numbers of the transaction, as well
// as the sequence numbers of all in-mempool ancestors. // as the sequence numbers of all in-mempool ancestors.
RBFTransactionState IsRBFOptIn(const CTransaction &tx, CTxMemPool &pool); RBFTransactionState IsRBFOptIn(const CTransaction &tx, CTxMemPool &pool) EXCLUSIVE_LOCKS_REQUIRED(pool.cs);
#endif // BITCOIN_POLICY_RBF_H #endif // BITCOIN_POLICY_RBF_H

View File

@ -383,7 +383,7 @@ static std::string EntryDescriptionString()
" ... ]\n"; " ... ]\n";
} }
static void entryToJSON(UniValue &info, const CTxMemPoolEntry &e) static void entryToJSON(UniValue &info, const CTxMemPoolEntry &e) EXCLUSIVE_LOCKS_REQUIRED(::mempool.cs)
{ {
AssertLockHeld(mempool.cs); AssertLockHeld(mempool.cs);

View File

@ -451,7 +451,7 @@ private:
mutable bool blockSinceLastRollingFeeBump; mutable bool blockSinceLastRollingFeeBump;
mutable double rollingMinimumFeeRate; //!< minimum fee to get into the pool, decreases exponentially mutable double rollingMinimumFeeRate; //!< minimum fee to get into the pool, decreases exponentially
void trackPackageRemoved(const CFeeRate& rate); void trackPackageRemoved(const CFeeRate& rate) EXCLUSIVE_LOCKS_REQUIRED(cs);
public: public:
@ -512,7 +512,7 @@ private:
void UpdateParent(txiter entry, txiter parent, bool add); void UpdateParent(txiter entry, txiter parent, bool add);
void UpdateChild(txiter entry, txiter child, bool add); void UpdateChild(txiter entry, txiter child, bool add);
std::vector<indexed_transaction_set::const_iterator> GetSortedDepthAndScore() const; std::vector<indexed_transaction_set::const_iterator> GetSortedDepthAndScore() const EXCLUSIVE_LOCKS_REQUIRED(cs);
public: public:
indirectmap<COutPoint, const CTransaction*> mapNextTx; indirectmap<COutPoint, const CTransaction*> mapNextTx;
@ -572,7 +572,7 @@ public:
* Set updateDescendants to true when removing a tx that was in a block, so * Set updateDescendants to true when removing a tx that was in a block, so
* that any in-mempool descendants have their ancestor state updated. * that any in-mempool descendants have their ancestor state updated.
*/ */
void RemoveStaged(setEntries &stage, bool updateDescendants, MemPoolRemovalReason reason = MemPoolRemovalReason::UNKNOWN); void RemoveStaged(setEntries &stage, bool updateDescendants, MemPoolRemovalReason reason = MemPoolRemovalReason::UNKNOWN) EXCLUSIVE_LOCKS_REQUIRED(cs);
/** When adding transactions from a disconnected block back to the mempool, /** When adding transactions from a disconnected block back to the mempool,
* new mempool entries may have children in the mempool (which is generally * new mempool entries may have children in the mempool (which is generally