@@ -3712,7 +3712,6 @@ void PeerManager::ProcessMessage(CNode& pfrom, const std::string& msg_type, CDat
37123712 vRecv >> newFeeFilter;
37133713 if (MoneyRange (newFeeFilter)) {
37143714 if (pfrom.m_tx_relay != nullptr ) {
3715- LOCK (pfrom.m_tx_relay ->cs_feeFilter );
37163715 pfrom.m_tx_relay ->minFeeFilter = newFeeFilter;
37173716 }
37183717 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)
43884387 if (fSendTrickle && pto->m_tx_relay ->fSendMempool ) {
43894388 auto vtxinfo = m_mempool.infoAll ();
43904389 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 ()};
43964391
43974392 LOCK (pto->m_tx_relay ->cs_filter );
43984393
@@ -4426,11 +4421,7 @@ bool PeerManager::SendMessages(CNode* pto)
44264421 for (std::set<uint256>::iterator it = pto->m_tx_relay ->setInventoryTxToSend .begin (); it != pto->m_tx_relay ->setInventoryTxToSend .end (); it++) {
44274422 vInvTx.push_back (it);
44284423 }
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 ()};
44344425 // Topologically and fee-rate sort the inventory we send for privacy and priority reasons.
44354426 // A heap is used so that not all items need sorting if only a few are being sent.
44364427 CompareInvMempoolOrder compareInvMempoolOrder (&m_mempool, state.m_wtxid_relay );
0 commit comments