diff --git a/src/unix/fs.c b/src/unix/fs.c index 0623fe6b..d7456228 100644 --- a/src/unix/fs.c +++ b/src/unix/fs.c @@ -447,7 +447,12 @@ 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. */ + WRAP_EIO(UV_FS_FDATASYNC, eio_fdatasync, fsync, ARGS1(file)) +#else WRAP_EIO(UV_FS_FDATASYNC, eio_fdatasync, fdatasync, ARGS1(file)) +#endif }