Shutdown cleanup prep-work

Create a boost::thread_group object at the qt/bitcoind main-loop level
that will hold pointers to all the main-loop threads.

This will replace the vnThreadsRunning[] array.

For testing, ported the BitcoinMiner threads to use its
own boost::thread_group.
This commit is contained in:
Gavin Andresen
2013-03-06 22:16:05 -05:00
parent 87b9931bed
commit c8c2fbe07f
8 changed files with 63 additions and 82 deletions

View File

@@ -2052,6 +2052,7 @@ void StartNode(void* parg)
bool StopNode()
{
printf("StopNode()\n");
GenerateBitcoins(false, NULL);
fShutdown = true;
nTransactionsUpdated++;
int64 nStart = GetTime();
@@ -2072,7 +2073,6 @@ bool StopNode()
if (vnThreadsRunning[THREAD_SOCKETHANDLER] > 0) printf("ThreadSocketHandler still running\n");
if (vnThreadsRunning[THREAD_OPENCONNECTIONS] > 0) printf("ThreadOpenConnections still running\n");
if (vnThreadsRunning[THREAD_MESSAGEHANDLER] > 0) printf("ThreadMessageHandler still running\n");
if (vnThreadsRunning[THREAD_MINER] > 0) printf("ThreadBitcoinMiner still running\n");
if (vnThreadsRunning[THREAD_RPCLISTENER] > 0) printf("ThreadRPCListener still running\n");
if (vnThreadsRunning[THREAD_RPCHANDLER] > 0) printf("ThreadsRPCServer still running\n");
#ifdef USE_UPNP