aboutsummaryrefslogtreecommitdiff
path: root/src/net.cpp
diff options
context:
space:
mode:
authorJonas Schnelli <[email protected]>2013-04-02 21:53:41 +0200
committerJonas Schnelli <[email protected]>2013-04-02 21:53:41 +0200
commit6f21d15375c0ca264a4bc3470685e0f364fa8ffe (patch)
tree04c59f05614eb95490625c8d1b9ca3e1b91b25d1 /src/net.cpp
parentchange new mac icon license to public domain (diff)
parentMerge pull request #2420 from sipa/globclean (diff)
downloaddiscoin-6f21d15375c0ca264a4bc3470685e0f364fa8ffe.tar.xz
discoin-6f21d15375c0ca264a4bc3470685e0f364fa8ffe.zip
Merge branch 'master' of git://github.com/bitcoin/bitcoin
Diffstat (limited to 'src/net.cpp')
-rw-r--r--src/net.cpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/net.cpp b/src/net.cpp
index 9ee6cb423..669f44b63 100644
--- a/src/net.cpp
+++ b/src/net.cpp
@@ -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
{
//
@@ -2047,9 +2047,6 @@ void StartNode(void* parg)
// Dump network addresses
if (!NewThread(ThreadDumpAddress, NULL))
printf("Error; NewThread(ThreadDumpAddress) failed\n");
-
- // Generate coins in the background
- GenerateBitcoins(GetBoolArg("-gen", false), pwalletMain);
}
bool StopNode()
@@ -2088,6 +2085,7 @@ bool StopNode()
Sleep(20);
Sleep(50);
DumpAddresses();
+
return true;
}
@@ -2108,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();