aboutsummaryrefslogtreecommitdiff
path: root/src/init.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/init.cpp')
-rw-r--r--src/init.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/init.cpp b/src/init.cpp
index 98f233d9df..22100dfbf9 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -1138,6 +1138,15 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
RandAddPeriodic();
}, std::chrono::minutes{1});
+ // Check disk space every 5 minutes to avoid db corruption.
+ node.scheduler->scheduleEvery([&args]{
+ constexpr uint64_t min_disk_space = 50 << 20; // 50 MB
+ if (!CheckDiskSpace(args.GetBlocksDirPath(), min_disk_space)) {
+ LogPrintf("Shutting down due to lack of disk space!\n");
+ StartShutdown();
+ }
+ }, std::chrono::minutes{5});
+
GetMainSignals().RegisterBackgroundSignalScheduler(*node.scheduler);
// Create client interfaces for wallets that are supposed to be loaded