aboutsummaryrefslogtreecommitdiff
path: root/src/util/system.cpp
diff options
context:
space:
mode:
authorWladimir J. van der Laan <laanwj@protonmail.com>2020-08-05 17:33:31 +0200
committerWladimir J. van der Laan <laanwj@protonmail.com>2020-08-05 17:33:42 +0200
commite3272ff2907ca7a769d624698831a8605251b295 (patch)
tree9f7077b78ee6a93cc8c2d516c432bdacbc29c9b1 /src/util/system.cpp
parent4644b13b4499d1d661efdccc9854d3dccdf5b0e9 (diff)
parent1d8338d6b71447a5bf18750ca44724345aae5b60 (diff)
downloadbitcoin-e3272ff2907ca7a769d624698831a8605251b295.tar.xz
Merge #19614: util: use HAVE_FDATASYNC to determine fdatasync() use
1d8338d6b71447a5bf18750ca44724345aae5b60 util: use HAVE_FDATASYNC to determine fdatasync() use (fanquake) Pull request description: Rather than just using on Linux and NetBSD, use `fdatasync()` based on whether it's available. i.e `fdatasync` is available in newer versions of FreeBSD. This also aligns more closely with what is being done in leveldb. Was pointed out by Luke in #19430. ACKs for top commit: practicalswift: ACK 1d8338d6b71447a5bf18750ca44724345aae5b60 -- patch looks correct laanwj: ACK 1d8338d6b71447a5bf18750ca44724345aae5b60 hebasto: ACK 1d8338d6b71447a5bf18750ca44724345aae5b60 Tree-SHA512: 7dd6d87f5dc0c0ba21ae42f96b63fc12b34806cd536457fc4284f14bb8c235765344be228b000c6adf4cd1e8c4e6a03a18ca18ab22599c42cc3b706e0bcd1a17
Diffstat (limited to 'src/util/system.cpp')
-rw-r--r--src/util/system.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/util/system.cpp b/src/util/system.cpp
index 066cfe8892..7b74789b32 100644
--- a/src/util/system.cpp
+++ b/src/util/system.cpp
@@ -1025,7 +1025,7 @@ bool FileCommit(FILE *file)
return false;
}
#else
- #if defined(__linux__) || defined(__NetBSD__)
+ #if defined(HAVE_FDATASYNC)
if (fdatasync(fileno(file)) != 0 && errno != EINVAL) { // Ignore EINVAL for filesystems that don't support sync
LogPrintf("%s: fdatasync failed: %d\n", __func__, errno);
return false;