Skip to content

Commit 384866e

Browse files
author
MarcoFalke
committed
Merge bitcoin/bitcoin#24427: refactor: Release cs_main before MaybeSendFeefilter
faa329f refactor: Release cs_main before MaybeSendFeefilter (MarcoFalke) Pull request description: There is no need for any lock to be held, because net processing is single threaded. So holding the validation lock cs_main for sending a feefilter is confusing and might even degrade blockchain-related RPC performance minimally. ACKs for top commit: ajtowns: ACK faa329f ; code review only vasild: ACK faa329f Tree-SHA512: 3e7f9faff1631cc64c86fc1a354ada67617ad1e7a046625cc741f4711854eb41ca8aad5a51ef0d94ff65947b68dba8345c9f786b20ee0a8b7a2e8741cfced21f
2 parents 4774b75 + faa329f commit 384866e

File tree

1 file changed

+2
-5
lines changed

1 file changed

+2
-5
lines changed

src/net_processing.cpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,7 @@ class PeerManagerImpl final : public PeerManager
415415
void RelayAddress(NodeId originator, const CAddress& addr, bool fReachable);
416416

417417
/** Send `feefilter` message. */
418-
void MaybeSendFeefilter(CNode& node, std::chrono::microseconds current_time) EXCLUSIVE_LOCKS_REQUIRED(cs_main);
418+
void MaybeSendFeefilter(CNode& node, std::chrono::microseconds current_time);
419419

420420
const CChainParams& m_chainparams;
421421
CConnman& m_connman;
@@ -4506,8 +4506,6 @@ void PeerManagerImpl::MaybeSendAddr(CNode& node, Peer& peer, std::chrono::micros
45064506

45074507
void PeerManagerImpl::MaybeSendFeefilter(CNode& pto, std::chrono::microseconds current_time)
45084508
{
4509-
AssertLockHeld(cs_main);
4510-
45114509
if (m_ignore_incoming_txs) return;
45124510
if (!pto.m_tx_relay) return;
45134511
if (pto.GetCommonVersion() < FEEFILTER_VERSION) return;
@@ -5054,8 +5052,7 @@ bool PeerManagerImpl::SendMessages(CNode* pto)
50545052

50555053
if (!vGetData.empty())
50565054
m_connman.PushMessage(pto, msgMaker.Make(NetMsgType::GETDATA, vGetData));
5057-
5058-
MaybeSendFeefilter(*pto, current_time);
50595055
} // release cs_main
5056+
MaybeSendFeefilter(*pto, current_time);
50605057
return true;
50615058
}

0 commit comments

Comments
 (0)