Merge pull request #2420 from sipa/globclean

Global cleanups
This commit is contained in:
Gavin Andresen
2013-04-02 10:00:31 -07:00
2 changed files with 41 additions and 2 deletions

View File

@@ -775,12 +775,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
{
//
@@ -2085,6 +2085,7 @@ bool StopNode()
Sleep(20);
Sleep(50);
DumpAddresses();
return true;
}
@@ -2105,6 +2106,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();