From: Rui Paulo Date: Tue, 13 Oct 2015 10:41:07 +0000 (-0700) Subject: Portability fixes for FreeBSD - os_fdatasync() X-Git-Tag: hostap_2_6~1510 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=22e8df3a982fc23ffb459a590685713df2c8e105;p=thirdparty%2Fhostap.git Portability fixes for FreeBSD - os_fdatasync() Use fsync() when fdatasync() and F_FULLSYNC isn't available. Signed-off-by: Rui Paulo --- 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;