changeset 15624:77a8f27f1e92

fdatasync: minor improvements 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>
author Eric Blake <eblake@redhat.com>
date Fri, 16 Sep 2011 12:47:13 -0600
parents 1add0c3b0f4b
children eab059ee71cc
files ChangeLog lib/fdatasync.c modules/fdatasync tests/test-unistd-c++.cc
diffstat 4 files changed, 12 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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.
--- a/lib/fdatasync.c
+++ b/lib/fdatasync.c
@@ -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);
 }
--- a/modules/fdatasync
+++ b/modules/fdatasync
@@ -6,7 +6,7 @@
 m4/fdatasync.m4
 
 Depends-on:
-fsync
+fsync         [test $HAVE_FDATASYNC = 0]
 unistd
 
 configure.ac:
--- a/tests/test-unistd-c++.cc
+++ b/tests/test-unistd-c++.cc
@@ -60,6 +60,10 @@
                  (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