From 8f617b93bcb3e4b54fd4fa33883b14bad014dfc0 Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Sat, 24 Sep 2011 05:19:59 +0200 Subject: [PATCH] unix: darwin < 10.6 does not have fdatasync, use fsync --- src/unix/fs.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/unix/fs.c b/src/unix/fs.c index d7456228..ec24e8b3 100644 --- a/src/unix/fs.c +++ b/src/unix/fs.c @@ -447,8 +447,11 @@ int uv_fs_fsync(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) { int uv_fs_fdatasync(uv_loop_t* loop, uv_fs_t* req, uv_file file, uv_fs_cb cb) { char* path = NULL; -#ifdef __FreeBSD__ - /* freebsd doesn't have fdatasync, do a full fsync instead. */ +#if defined(__FreeBSD__) \ + || (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ < 1060) + /* freebsd and pre-10.6 darwin don't have fdatasync, + * do a full fsync instead. + */ WRAP_EIO(UV_FS_FDATASYNC, eio_fdatasync, fsync, ARGS1(file)) #else WRAP_EIO(UV_FS_FDATASYNC, eio_fdatasync, fdatasync, ARGS1(file))