mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-11 06:28:31 +01:00
Clean up global datastructures at shutdown.
This should make detecting leaks much easier.
This commit is contained in:
17
src/net.cpp
17
src/net.cpp
@@ -660,12 +660,12 @@ void ThreadSocketHandler(void* parg)
|
||||
printf("ThreadSocketHandler exited\n");
|
||||
}
|
||||
|
||||
static list<CNode*> vNodesDisconnected;
|
||||
|
||||
void ThreadSocketHandler2(void* parg)
|
||||
{
|
||||
printf("ThreadSocketHandler started\n");
|
||||
list<CNode*> vNodesDisconnected;
|
||||
unsigned int nPrevNodeCount = 0;
|
||||
|
||||
loop
|
||||
{
|
||||
//
|
||||
@@ -1992,6 +1992,7 @@ bool StopNode()
|
||||
Sleep(20);
|
||||
Sleep(50);
|
||||
DumpAddresses();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -2012,6 +2013,18 @@ public:
|
||||
if (closesocket(hListenSocket) == SOCKET_ERROR)
|
||||
printf("closesocket(hListenSocket) failed with error %d\n", WSAGetLastError());
|
||||
|
||||
// clean up some globals (to help leak detection)
|
||||
BOOST_FOREACH(CNode *pnode, vNodes)
|
||||
delete pnode;
|
||||
BOOST_FOREACH(CNode *pnode, vNodesDisconnected)
|
||||
delete pnode;
|
||||
vNodes.clear();
|
||||
vNodesDisconnected.clear();
|
||||
delete semOutbound;
|
||||
semOutbound = NULL;
|
||||
delete pnodeLocalHost;
|
||||
pnodeLocalHost = NULL;
|
||||
|
||||
#ifdef WIN32
|
||||
// Shutdown Windows Sockets
|
||||
WSACleanup();
|
||||
|
||||
Reference in New Issue
Block a user