|
@@ -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;
|