Merge 320e518b90 into merged_master (Bitcoin PR bitcoin/bitcoin#21750)

This commit is contained in:
Andrew Poelstra 2021-07-05 04:24:00 +00:00
commit d95da2d3b1

View file

@ -1224,19 +1224,10 @@ void CConnman::DisconnectNodes()
std::list<CNode*> vNodesDisconnectedCopy = vNodesDisconnected;
for (CNode* pnode : vNodesDisconnectedCopy)
{
// wait until threads are done using it
// Destroy the object only after other threads have stopped using it.
if (pnode->GetRefCount() <= 0) {
bool fDelete = false;
{
TRY_LOCK(pnode->cs_vSend, lockSend);
if (lockSend) {
fDelete = true;
}
}
if (fDelete) {
vNodesDisconnected.remove(pnode);
DeleteNode(pnode);
}
vNodesDisconnected.remove(pnode);
DeleteNode(pnode);
}
}
}