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/rpcmining.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/rpcmining.cpp')
| -rw-r--r-- | src/rpcmining.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/rpcmining.cpp b/src/rpcmining.cpp index fddda8b5f..b8b745963 100644 --- a/src/rpcmining.cpp +++ b/src/rpcmining.cpp @@ -104,7 +104,6 @@ Value getwork(const Array& params, bool fHelp) typedef map<uint256, pair<CBlock*, CScript> > mapNewBlock_t; static mapNewBlock_t mapNewBlock; // FIXME: thread safety static vector<CBlockTemplate*> vNewBlockTemplate; - static CReserveKey reservekey(pwalletMain); if (params.size() == 0) { @@ -134,7 +133,7 @@ Value getwork(const Array& params, bool fHelp) nStart = GetTime(); // Create new block - pblocktemplate = CreateNewBlock(reservekey); + pblocktemplate = CreateNewBlock(*pMiningKey); if (!pblocktemplate) throw JSONRPCError(RPC_OUT_OF_MEMORY, "Out of memory"); vNewBlockTemplate.push_back(pblocktemplate); @@ -192,7 +191,7 @@ Value getwork(const Array& params, bool fHelp) pblock->vtx[0].vin[0].scriptSig = mapNewBlock[pdata->hashMerkleRoot].second; pblock->hashMerkleRoot = pblock->BuildMerkleTree(); - return CheckWork(pblock, *pwalletMain, reservekey); + return CheckWork(pblock, *pwalletMain, *pMiningKey); } } @@ -243,8 +242,6 @@ Value getblocktemplate(const Array& params, bool fHelp) if (IsInitialBlockDownload()) throw JSONRPCError(RPC_CLIENT_IN_INITIAL_DOWNLOAD, "Bitcoin is downloading blocks..."); - static CReserveKey reservekey(pwalletMain); - // Update block static unsigned int nTransactionsUpdatedLast; static CBlockIndex* pindexPrev; @@ -267,7 +264,7 @@ Value getblocktemplate(const Array& params, bool fHelp) delete pblocktemplate; pblocktemplate = NULL; } - pblocktemplate = CreateNewBlock(reservekey); + pblocktemplate = CreateNewBlock(*pMiningKey); if (!pblocktemplate) throw JSONRPCError(RPC_OUT_OF_MEMORY, "Out of memory"); |