diff options
| author | Gavin Andresen <[email protected]> | 2013-05-24 12:41:04 -0700 |
|---|---|---|
| committer | Gavin Andresen <[email protected]> | 2013-05-24 12:41:04 -0700 |
| commit | 1472a2991b7f75387aaad87a81e65f695408d58d (patch) | |
| tree | 18fd48ebecaf4657faaf02864e6cec36bad3cb76 /src/bitcoinrpc.cpp | |
| parent | doc/README was replaced by README.md (diff) | |
| parent | Clean up mining CReserveKey to prevent crash at shutdown (diff) | |
| download | discoin-1472a2991b7f75387aaad87a81e65f695408d58d.tar.xz discoin-1472a2991b7f75387aaad87a81e65f695408d58d.zip | |
Merge pull request #2688 from gavinandresen/issue2687
Clean up mining CReserveKey to prevent crash at shutdown
Diffstat (limited to 'src/bitcoinrpc.cpp')
| -rw-r--r-- | src/bitcoinrpc.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/bitcoinrpc.cpp b/src/bitcoinrpc.cpp index a9b73fd5a..2c4744a57 100644 --- a/src/bitcoinrpc.cpp +++ b/src/bitcoinrpc.cpp @@ -30,6 +30,10 @@ using namespace boost; using namespace boost::asio; using namespace json_spirit; +// Key used by getwork/getblocktemplate miners. +// Allocated in StartRPCThreads, free'd in StopRPCThreads +CReserveKey* pMiningKey = NULL; + static std::string strRPCUserColonPass; // These are created by StartRPCThreads, destroyed in StopRPCThreads @@ -722,6 +726,9 @@ static void RPCAcceptHandler(boost::shared_ptr< basic_socket_acceptor<Protocol, void StartRPCThreads() { + // getwork/getblocktemplate mining rewards paid here: + pMiningKey = new CReserveKey(pwalletMain); + strRPCUserColonPass = mapArgs["-rpcuser"] + ":" + mapArgs["-rpcpassword"]; if ((mapArgs["-rpcpassword"] == "") || (mapArgs["-rpcuser"] == mapArgs["-rpcpassword"])) @@ -841,6 +848,8 @@ void StartRPCThreads() void StopRPCThreads() { + delete pMiningKey; pMiningKey = NULL; + if (rpc_io_service == NULL) return; rpc_io_service->stop(); |