@@ -232,7 +232,7 @@ UniValue generateBlocks(std::shared_ptr<CReserveScript> coinbaseScript, int nGen
232
232
uint256 mix_hash;
233
233
while (nMaxTries > 0 && pblock->nNonce64 < nInnerLoopCount &&
234
234
!CheckProofOfWork (ProgPowHash (*pblock, mix_hash), pblock->nBits ,
235
- Params ().GetConsensus (), CBlockHeader::PROGPOW_BLOCK)) {
235
+ Params ().GetConsensus (), CBlockHeader::PROGPOW_BLOCK) && ! ShutdownRequested () ) {
236
236
++pblock->nNonce64 ;
237
237
--nMaxTries;
238
238
}
@@ -246,7 +246,7 @@ UniValue generateBlocks(std::shared_ptr<CReserveScript> coinbaseScript, int nGen
246
246
247
247
bnTarget.SetCompact (pblock->nBits , &fNegative , &fOverflow );
248
248
249
- while (nMaxTries > 0 && pblock->nNonce < nInnerLoopCount) {
249
+ while (nMaxTries > 0 && pblock->nNonce < nInnerLoopCount && ! ShutdownRequested () ) {
250
250
// RandomX hash
251
251
uint256 hash_blob = pblock->GetRandomXHeaderHash ();
252
252
randomx_calculate_hash (GetMyMachineValidating (), &hash_blob, sizeof uint256 (), hash);
@@ -263,7 +263,7 @@ UniValue generateBlocks(std::shared_ptr<CReserveScript> coinbaseScript, int nGen
263
263
} else if (pblock->IsSha256D () && pblock->nTime >= Params ().PowUpdateTimestamp ()) {
264
264
while (nMaxTries > 0 && pblock->nNonce64 < nInnerLoopCount &&
265
265
!CheckProofOfWork (pblock->GetSha256DPoWHash (), pblock->nBits ,
266
- Params ().GetConsensus (), CBlockHeader::SHA256D_BLOCK)) {
266
+ Params ().GetConsensus (), CBlockHeader::SHA256D_BLOCK) && ! ShutdownRequested () ) {
267
267
++pblock->nNonce64 ;
268
268
--nMaxTries;
269
269
}
0 commit comments