Allow shutdown during LoadMempool, dump only when necessary

This commit is contained in:
Jonas Schnelli 2016-12-22 20:11:26 +01:00
parent 041331e1da
commit 9479f8dfcf
No known key found for this signature in database
GPG key ID: 29D4BCB6416F53EC
2 changed files with 6 additions and 1 deletions

View file

@ -130,6 +130,7 @@ static const char* FEE_ESTIMATES_FILENAME="fee_estimates.dat";
//
std::atomic<bool> fRequestShutdown(false);
std::atomic<bool> fDumpMempoolLater(false);
void StartShutdown()
{
@ -209,7 +210,8 @@ void Shutdown()
StopTorControl();
UnregisterNodeSignals(GetNodeSignals());
DumpMempool();
if (fDumpMempoolLater)
DumpMempool();
if (fFeeEstimatesInitialized)
{
@ -667,6 +669,7 @@ void ThreadImport(std::vector<boost::filesystem::path> vImportFiles)
}
} // End scope of CImportingNow
LoadMempool();
fDumpMempoolLater = !fRequestShutdown;
}
/** Sanity checks

View file

@ -4076,6 +4076,8 @@ bool LoadMempool(void)
} else {
++skipped;
}
if (ShutdownRequested())
return false;
}
std::map<uint256, CAmount> mapDeltas;
file >> mapDeltas;