File 2171-On-macOS-prefer-F_BARRIERFSYNC-over-F_FULLFSYNC.patch of Package erlang
From fe4eb5ec0e8935bf7d2db18ecd14a018401a5dc9 Mon Sep 17 00:00:00 2001
From: Michal Kuratczyk <mkuratczyk@vmware.com>
Date: Thu, 31 Mar 2022 11:05:27 +0200
Subject: [PATCH] On macOS, prefer F_BARRIERFSYNC over F_FULLFSYNC
---
erts/emulator/nifs/unix/unix_prim_file.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/erts/emulator/nifs/unix/unix_prim_file.c b/erts/emulator/nifs/unix/unix_prim_file.c
index afd87e5d14..966086e572 100644
--- a/erts/emulator/nifs/unix/unix_prim_file.c
+++ b/erts/emulator/nifs/unix/unix_prim_file.c
@@ -538,7 +538,9 @@ int efile_sync(efile_data_t *d, int data_only) {
}
#endif
-#if defined(__DARWIN__) && defined(F_FULLFSYNC)
+#if defined(__DARWIN__) && defined(F_BARRIERFSYNC)
+ if(fcntl(u->fd, F_BARRIERFSYNC) < 0) {
+#elif defined(__DARWIN__) && defined(F_FULLFSYNC)
if(fcntl(u->fd, F_FULLFSYNC) < 0) {
#else
if(fsync(u->fd) < 0) {
--
2.34.1