@@ -3712,7 +3712,6 @@ void PeerManager::ProcessMessage(CNode& pfrom, const std::string& msg_type, CDat
3712
3712
vRecv >> newFeeFilter;
3713
3713
if (MoneyRange (newFeeFilter)) {
3714
3714
if (pfrom.m_tx_relay != nullptr ) {
3715
- LOCK (pfrom.m_tx_relay ->cs_feeFilter );
3716
3715
pfrom.m_tx_relay ->minFeeFilter = newFeeFilter;
3717
3716
}
3718
3717
LogPrint (BCLog::NET, " received: feefilter of %s from peer=%d\n " , CFeeRate (newFeeFilter).ToString (), pfrom.GetId ());
@@ -4388,11 +4387,7 @@ bool PeerManager::SendMessages(CNode* pto)
4388
4387
if (fSendTrickle && pto->m_tx_relay ->fSendMempool ) {
4389
4388
auto vtxinfo = m_mempool.infoAll ();
4390
4389
pto->m_tx_relay ->fSendMempool = false ;
4391
- CFeeRate filterrate;
4392
- {
4393
- LOCK (pto->m_tx_relay ->cs_feeFilter );
4394
- filterrate = CFeeRate (pto->m_tx_relay ->minFeeFilter );
4395
- }
4390
+ const CFeeRate filterrate{pto->m_tx_relay ->minFeeFilter .load ()};
4396
4391
4397
4392
LOCK (pto->m_tx_relay ->cs_filter );
4398
4393
@@ -4426,11 +4421,7 @@ bool PeerManager::SendMessages(CNode* pto)
4426
4421
for (std::set<uint256>::iterator it = pto->m_tx_relay ->setInventoryTxToSend .begin (); it != pto->m_tx_relay ->setInventoryTxToSend .end (); it++) {
4427
4422
vInvTx.push_back (it);
4428
4423
}
4429
- CFeeRate filterrate;
4430
- {
4431
- LOCK (pto->m_tx_relay ->cs_feeFilter );
4432
- filterrate = CFeeRate (pto->m_tx_relay ->minFeeFilter );
4433
- }
4424
+ const CFeeRate filterrate{pto->m_tx_relay ->minFeeFilter .load ()};
4434
4425
// Topologically and fee-rate sort the inventory we send for privacy and priority reasons.
4435
4426
// A heap is used so that not all items need sorting if only a few are being sent.
4436
4427
CompareInvMempoolOrder compareInvMempoolOrder (&m_mempool, state.m_wtxid_relay );
0 commit comments