diff options
| author | MarcoFalke <[email protected]> | 2017-09-06 13:48:00 -0700 |
|---|---|---|
| committer | MarcoFalke <[email protected]> | 2017-09-06 13:49:25 -0700 |
| commit | bc561b4b7d6a3f71649d37d5eb9047c29efa2b13 (patch) | |
| tree | b95d6bc057fbab7a220844f1fc25d5224efcaf40 /src/validation.cpp | |
| parent | Merge #11117: Prepare for non-Base58 addresses (diff) | |
| parent | Add savemempool RPC (diff) | |
| download | discoin-bc561b4b7d6a3f71649d37d5eb9047c29efa2b13.tar.xz discoin-bc561b4b7d6a3f71649d37d5eb9047c29efa2b13.zip | |
Merge #11099: [RPC][mempool]: Add savemempool RPC
1aa97ee08 Add savemempool RPC (Lawrence Nahum)
467cbbcbf Add return value to DumpMempool (Lawrence Nahum)
Pull request description:
Adds a simple parameterless rpc command to dump the mempool.
Rationale:
Sometimes there can be a crash for whatever reason (bug, power loss, etc) causing the mempool.dat file to not be saved.
This change allows to script/cron the rpc call to have more regular saves to the file as well as cli/ad-hoc.
This should solve issue https://github.com/bitcoin/bitcoin/issues/11086
Tree-SHA512: e856ae9777425a4521279c9b58e69285d8e374790bebefd3284cf91931eac0e456f86224f427a087a01bf70440bf6e439fa02c8a34940eb1046ae473e98b6aaa
Diffstat (limited to 'src/validation.cpp')
| -rw-r--r-- | src/validation.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/validation.cpp b/src/validation.cpp index 0edc9bc32..d1ef11759 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -4331,7 +4331,7 @@ bool LoadMempool(void) return true; } -void DumpMempool(void) +bool DumpMempool(void) { int64_t start = GetTimeMicros(); @@ -4351,7 +4351,7 @@ void DumpMempool(void) try { FILE* filestr = fsbridge::fopen(GetDataDir() / "mempool.dat.new", "wb"); if (!filestr) { - return; + return false; } CAutoFile file(filestr, SER_DISK, CLIENT_VERSION); @@ -4375,7 +4375,9 @@ void DumpMempool(void) LogPrintf("Dumped mempool: %gs to copy, %gs to dump\n", (mid-start)*MICRO, (last-mid)*MICRO); } catch (const std::exception& e) { LogPrintf("Failed to dump mempool: %s. Continuing anyway.\n", e.what()); + return false; } + return true; } //! Guess how far we are in the verification process at the given block index |