fdatasync: minor improvements
authorEric Blake <eblake@redhat.com>
Fri, 16 Sep 2011 18:47:13 +0000 (12:47 -0600)
committerEric Blake <eblake@redhat.com>
Fri, 16 Sep 2011 18:47:13 +0000 (12:47 -0600)
Picks up some ideas by Paul Eggert from here:
https://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00157.html

* modules/fdatasync (Depends-on): Add condition for fsync.
* lib/fdatasync.c (fdatasync): Add comment.
* tests/test-unistd-c++.cc: Test fdatasync.

Signed-off-by: Eric Blake <eblake@redhat.com>
ChangeLog
lib/fdatasync.c
modules/fdatasync
tests/test-unistd-c++.cc

index c76f3ae..7783d07 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2011-09-16  Eric Blake  <eblake@redhat.com>
 
+       fdatasync: minor improvements
+       * modules/fdatasync (Depends-on): Add condition for fsync.
+       * lib/fdatasync.c (fdatasync): Add comment.
+       * tests/test-unistd-c++.cc: Test fdatasync.
+
        unistd: update refs to newer POSIX
        * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
        Suggested by Bruno Haible.
index 54c10fd..3d26793 100644 (file)
@@ -21,5 +21,7 @@
 int
 fdatasync (int fd)
 {
+  /* This does more work than strictly necessary, but is the best we
+     can do portably.  */
   return fsync (fd);
 }
index 7b78a80..19c1aee 100644 (file)
@@ -6,7 +6,7 @@ lib/fdatasync.c
 m4/fdatasync.m4
 
 Depends-on:
-fsync
+fsync         [test $HAVE_FDATASYNC = 0]
 unistd
 
 configure.ac:
index 12e415b..fb7425b 100644 (file)
@@ -60,6 +60,10 @@ SIGNATURE_CHECK (GNULIB_NAMESPACE::fchownat, int,
                  (int, char const *, uid_t, gid_t, int));
 #endif
 
+#if GNULIB_TEST_FDATASYNC
+SIGNATURE_CHECK (GNULIB_NAMESPACE::fdatasync, int, (int));
+#endif
+
 #if GNULIB_TEST_FSYNC
 SIGNATURE_CHECK (GNULIB_NAMESPACE::fsync, int, (int));
 #endif