aboutsummaryrefslogtreecommitdiff
path: root/src/init.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/init.cpp')
-rw-r--r--src/init.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/init.cpp b/src/init.cpp
index a48cc1b162..481d5d398d 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -1065,13 +1065,14 @@ static bool LockDataDirectory(bool probeOnly)
{
// Make sure only a single Bitcoin process is using the data directory.
const fs::path& datadir = gArgs.GetDataDirNet();
- if (!DirIsWritable(datadir)) {
+ switch (util::LockDirectory(datadir, ".lock", probeOnly)) {
+ case util::LockResult::ErrorWrite:
return InitError(strprintf(_("Cannot write to data directory '%s'; check permissions."), fs::PathToString(datadir)));
- }
- if (!LockDirectory(datadir, ".lock", probeOnly)) {
+ case util::LockResult::ErrorLock:
return InitError(strprintf(_("Cannot obtain a lock on data directory %s. %s is probably already running."), fs::PathToString(datadir), PACKAGE_NAME));
- }
- return true;
+ case util::LockResult::Success: return true;
+ } // no default case, so the compiler can warn about missing cases
+ assert(false);
}
bool AppInitSanityChecks(const kernel::Context& kernel)