|
|
|
@ -453,8 +453,16 @@ void static BitcoinMiner(CWallet *pwallet)
@@ -453,8 +453,16 @@ void static BitcoinMiner(CWallet *pwallet)
|
|
|
|
|
if (chainparams.MiningRequiresPeers()) { |
|
|
|
|
// Busy-wait for the network to come online so we don't waste time mining
|
|
|
|
|
// on an obsolete chain. In regtest mode we expect to fly solo.
|
|
|
|
|
while (vNodes.empty()) |
|
|
|
|
do { |
|
|
|
|
bool fvNodesEmpty; |
|
|
|
|
{ |
|
|
|
|
LOCK(cs_vNodes); |
|
|
|
|
fvNodesEmpty = vNodes.empty(); |
|
|
|
|
} |
|
|
|
|
if (!fvNodesEmpty && !IsInitialBlockDownload()) |
|
|
|
|
break; |
|
|
|
|
MilliSleep(1000); |
|
|
|
|
} while (true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//
|
|
|
|
@ -533,6 +541,11 @@ void static BitcoinMiner(CWallet *pwallet)
@@ -533,6 +541,11 @@ void static BitcoinMiner(CWallet *pwallet)
|
|
|
|
|
LogPrintf("BitcoinMiner terminated\n"); |
|
|
|
|
throw; |
|
|
|
|
} |
|
|
|
|
catch (const std::runtime_error &e) |
|
|
|
|
{ |
|
|
|
|
LogPrintf("BitcoinMiner runtime error: %s\n", e.what()); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void GenerateBitcoins(bool fGenerate, CWallet* pwallet, int nThreads) |
|
|
|
|