From 22e8df3a982fc23ffb459a590685713df2c8e105 Mon Sep 17 00:00:00 2001 From: Rui Paulo Date: Tue, 13 Oct 2015 03:41:07 -0700 Subject: [PATCH] Portability fixes for FreeBSD - os_fdatasync() Use fsync() when fdatasync() and F_FULLSYNC isn't available. Signed-off-by: Rui Paulo --- src/utils/os_unix.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/utils/os_unix.c b/src/utils/os_unix.c index ffa2e788b..8f8dc5b21 100644 --- a/src/utils/os_unix.c +++ b/src/utils/os_unix.c @@ -445,16 +445,16 @@ int os_file_exists(const char *fname) int os_fdatasync(FILE *stream) { if (!fflush(stream)) { -#ifndef __MACH__ +#ifdef __linux__ return fdatasync(fileno(stream)); -#else /* __MACH__ */ +#else /* !__linux__ */ #ifdef F_FULLFSYNC /* OS X does not implement fdatasync(). */ return fcntl(fileno(stream), F_FULLFSYNC); #else /* F_FULLFSYNC */ -#error Neither fdatasync nor F_FULLSYNC are defined + return fsync(fileno(stream)); #endif /* F_FULLFSYNC */ -#endif /* __MACH__ */ +#endif /* __linux__ */ } return -1;