aboutsummaryrefslogtreecommitdiff
path: root/src/rpcmining.cpp
diff options
context:
space:
mode:
authorGavin Andresen <[email protected]>2013-05-24 12:41:04 -0700
committerGavin Andresen <[email protected]>2013-05-24 12:41:04 -0700
commit1472a2991b7f75387aaad87a81e65f695408d58d (patch)
tree18fd48ebecaf4657faaf02864e6cec36bad3cb76 /src/rpcmining.cpp
parentdoc/README was replaced by README.md (diff)
parentClean up mining CReserveKey to prevent crash at shutdown (diff)
downloaddiscoin-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.cpp9
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");