summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog4
-rw-r--r--src/fileio.c6
2 files changed, 8 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 656128832b6..08716763cec 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2007-10-06 Andreas Schwab <schwab@suse.de>
+
+ * fileio.c (Fwrite_region): Ignore EINVAL error from fsync.
+
2007-10-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* macterm.c (mac_load_query_font): Fix missing return value.
diff --git a/src/fileio.c b/src/fileio.c
index 26723fa4f3e..ac5a4f56794 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -5274,8 +5274,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