Skip to content

Commit f6315e0

Browse files
committed
net: only disconnect if fDisconnect has been set
These conditions are problematic to check without locking, and we shouldn't be relying on the refcount to disconnect.
1 parent 5b4a8ac commit f6315e0

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

src/net.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1051,8 +1051,7 @@ void CConnman::ThreadSocketHandler()
10511051
std::vector<CNode*> vNodesCopy = vNodes;
10521052
BOOST_FOREACH(CNode* pnode, vNodesCopy)
10531053
{
1054-
if (pnode->fDisconnect ||
1055-
(pnode->GetRefCount() <= 0 && pnode->vRecvMsg.empty() && pnode->nSendSize == 0))
1054+
if (pnode->fDisconnect)
10561055
{
10571056
// remove from vNodes
10581057
vNodes.erase(remove(vNodes.begin(), vNodes.end(), pnode), vNodes.end());

0 commit comments

Comments
 (0)