aboutsummaryrefslogtreecommitdiffstats
path: root/sysutils/fcron/files/patch-save.c
diff options
context:
space:
mode:
Diffstat (limited to 'sysutils/fcron/files/patch-save.c')
-rw-r--r--sysutils/fcron/files/patch-save.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/sysutils/fcron/files/patch-save.c b/sysutils/fcron/files/patch-save.c
new file mode 100644
index 000000000000..5ddd7209eebd
--- /dev/null
+++ b/sysutils/fcron/files/patch-save.c
@@ -0,0 +1,15 @@
+Replace fdatasync() with fsync() because FreeBSD doesn't have fdatasync().
+
+--- save.c.orig 2014-05-10 17:03:59 UTC
++++ save.c
+@@ -311,8 +311,8 @@ write_file_to_disk(int fd, struct cf_t *
+ * This is to avoid cases where the file name (meta-data) would be updated,
+ * and there is a crash before the data is fully written: not sure if that
+ * is possible, but better safe than sorry! */
+- if (fdatasync(fd) < 0) {
+- error_e("could not fdatasync() %s's fcrontab", file->cf_user);
++ if (fsync(fd) < 0) {
++ error_e("could not fsync() %s's fcrontab", file->cf_user);
+ return ERR;
+ }
+