It is not possible to have a node in CConnman::vNodesDisconnected
and
its reference count to be incremented - all CNode::AddRef()
are done
either before the node is added to CConnman::vNodes
or while holding
CConnman::cs_vNodes
and the object being in CConnman::vNodes
.
So, the object being in CConnman::vNodesDisconnected
and its reference
count being zero means that it is not and will not start to be used by
other threads.
So, the lock of CNode::cs_vSend
in CConnman::DisconnectNodes()
will
always succeed and is not necessary.
Indeed all locks of CNode::cs_vSend
are done either when the reference
count is >0 or under the protection of CConnman::cs_vNodes
and the
node being in CConnman::vNodes
.