]> git.eshelyaron.com Git - emacs.git/commitdiff
(Fwrite_region): Ignore EINVAL error from fsync.
authorAndreas Schwab <schwab@suse.de>
Sat, 6 Oct 2007 08:15:26 +0000 (08:15 +0000)
committerAndreas Schwab <schwab@suse.de>
Sat, 6 Oct 2007 08:15:26 +0000 (08:15 +0000)
src/ChangeLog
src/fileio.c

index b9ff2fafbe24d7bb994ee87ea2bd39ecae40eb6b..cfdf17f08422c39c58dd5683f69cda073dd9202d 100644 (file)
@@ -1,3 +1,7 @@
+2007-10-06  Andreas Schwab  <schwab@suse.de>
+
+       * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
+
 2007-10-04  Juanma Barranquero  <lekktu@gmail.com>
 
        * image.c (syms_of_image) <image-types>: Fix typo in docstring.
index b76d243346e9a11764de70b173e8ec37b468da35..29d12a0b0c3a2e61fb245e2f49652b7b3b74d8b4 100644 (file)
@@ -5359,8 +5359,10 @@ This does code conversion according to the value of
      it, and that means the fsync here is not crucial for autosave files.  */
   if (!auto_saving && !write_region_inhibit_fsync && fsync (desc) < 0)
     {
-      /* If fsync fails with EINTR, don't treat that as serious.  */
-      if (errno != EINTR)
+      /* If fsync fails with EINTR, don't treat that as serious.  Also
+        ignore EINVAL which happens when fsync is not supported on this
+        file.  */
+      if (errno != EINTR && errno != EINVAL)
        failure = 1, save_errno = errno;
     }
 #endif