fsync: Avoid test failure on native Windows.
authorBruno Haible <bruno@clisp.org>
Sat, 4 Feb 2012 13:59:43 +0000 (14:59 +0100)
committerBruno Haible <bruno@clisp.org>
Sat, 4 Feb 2012 13:59:43 +0000 (14:59 +0100)
* lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
read-only.

ChangeLog
lib/fsync.c

index b0b03ae..e7cd497 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2012-02-04  Bruno Haible  <bruno@clisp.org>
 
+       fsync: Avoid test failure on native Windows.
+       * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
+       read-only.
+
+2012-02-04  Bruno Haible  <bruno@clisp.org>
+
        sys_select: Avoid syntax error on OpenBSD 5.0.
        * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
        currently being included, just include the system's <sys/select.h>.
index 20508c9..c0b447c 100644 (file)
@@ -57,6 +57,11 @@ fsync (int fd)
       err = GetLastError ();
       switch (err)
         {
+        case ERROR_ACCESS_DENIED:
+          /* For a read-only handle, fsync should succeed, even though we have
+             no way to sync the access-time changes.  */
+          return 0;
+
           /* eg. Trying to fsync a tty. */
         case ERROR_INVALID_HANDLE:
           errno = EINVAL;