diff options
author | Jonas Schnelli <dev@jonasschnelli.ch> | 2016-12-22 20:11:26 +0100 |
---|---|---|
committer | Jonas Schnelli <dev@jonasschnelli.ch> | 2016-12-23 14:19:38 +0100 |
commit | 9479f8dfcf0533366ba81d191b507a0326df66db (patch) | |
tree | 2b7515f830f6f8765a40ab31f7a032ecfe0e68f4 | |
parent | 041331e1da23e4136fd046ed870cdcc177464176 (diff) | |
download | bitcoin-9479f8dfcf0533366ba81d191b507a0326df66db.tar.xz |
Allow shutdown during LoadMempool, dump only when necessary
-rw-r--r-- | src/init.cpp | 5 | ||||
-rw-r--r-- | src/validation.cpp | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/init.cpp b/src/init.cpp index e642729a99..e239e0d305 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -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 diff --git a/src/validation.cpp b/src/validation.cpp index bd60bbfdcd..b36e901121 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -4076,6 +4076,8 @@ bool LoadMempool(void) } else { ++skipped; } + if (ShutdownRequested()) + return false; } std::map<uint256, CAmount> mapDeltas; file >> mapDeltas; |