mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-12 23:18:14 +01:00
net: Add missing cs_vNodes lock
This commit is contained in:
15
src/net.cpp
15
src/net.cpp
@@ -2387,7 +2387,7 @@ void CConnman::Interrupt()
|
||||
}
|
||||
}
|
||||
|
||||
void CConnman::Stop()
|
||||
void CConnman::StopThreads()
|
||||
{
|
||||
if (threadMessageHandler.joinable())
|
||||
threadMessageHandler.join();
|
||||
@@ -2399,14 +2399,17 @@ void CConnman::Stop()
|
||||
threadDNSAddressSeed.join();
|
||||
if (threadSocketHandler.joinable())
|
||||
threadSocketHandler.join();
|
||||
}
|
||||
|
||||
if (fAddressesInitialized)
|
||||
{
|
||||
void CConnman::StopNodes()
|
||||
{
|
||||
if (fAddressesInitialized) {
|
||||
DumpAddresses();
|
||||
fAddressesInitialized = false;
|
||||
}
|
||||
|
||||
// Close sockets
|
||||
LOCK(cs_vNodes);
|
||||
for (CNode* pnode : vNodes)
|
||||
pnode->CloseSocketDisconnect();
|
||||
for (ListenSocket& hListenSocket : vhListenSocket)
|
||||
@@ -2415,10 +2418,10 @@ void CConnman::Stop()
|
||||
LogPrintf("CloseSocket(hListenSocket) failed with error %s\n", NetworkErrorString(WSAGetLastError()));
|
||||
|
||||
// clean up some globals (to help leak detection)
|
||||
for (CNode *pnode : vNodes) {
|
||||
for (CNode* pnode : vNodes) {
|
||||
DeleteNode(pnode);
|
||||
}
|
||||
for (CNode *pnode : vNodesDisconnected) {
|
||||
for (CNode* pnode : vNodesDisconnected) {
|
||||
DeleteNode(pnode);
|
||||
}
|
||||
vNodes.clear();
|
||||
@@ -2433,7 +2436,7 @@ void CConnman::DeleteNode(CNode* pnode)
|
||||
assert(pnode);
|
||||
bool fUpdateConnectionTime = false;
|
||||
m_msgproc->FinalizeNode(pnode->GetId(), fUpdateConnectionTime);
|
||||
if(fUpdateConnectionTime) {
|
||||
if (fUpdateConnectionTime) {
|
||||
addrman.Connected(pnode->addr);
|
||||
}
|
||||
delete pnode;
|
||||
|
||||
Reference in New Issue
Block a user