From 7aba6de1d02e445ce4a6088c2af4ce327bd67bd6 Mon Sep 17 00:00:00 2001 From: David CARLIER Date: Wed, 21 Apr 2021 15:21:43 +0100 Subject: [PATCH] stream: Fix MacOS build. fsync as alias for fdatasync. (#6882) If fdatasync is not available, use fsync instead. For some reason, fdatasync is available when using clang from Xcode, even though no declaration is present in headers. --- configure.ac | 1 + main/streams/plain_wrapper.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/configure.ac b/configure.ac index b358a666a75..eaf38d5497a 100644 --- a/configure.ac +++ b/configure.ac @@ -548,6 +548,7 @@ asctime_r \ chroot \ ctime_r \ explicit_memset \ +fdatasync \ flock \ ftok \ funopen \ diff --git a/main/streams/plain_wrapper.c b/main/streams/plain_wrapper.c index 1fdafa8b933..86adb9c91be 100644 --- a/main/streams/plain_wrapper.c +++ b/main/streams/plain_wrapper.c @@ -58,6 +58,9 @@ extern int php_get_gid_by_name(const char *name, gid_t *gid); #define fdatasync fsync #else # define PLAIN_WRAP_BUF_SIZE(st) (st) +# if !defined(HAVE_FDATASYNC) +# define fdatasync fsync +# endif #endif /* parse standard "fopen" modes into open() flags */