summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>2007-10-06 08:18:03 +0000
committerAndreas Schwab <schwab@suse.de>2007-10-06 08:18:03 +0000
commit41618deb16f1cc957b73a803fe27c793bd511d47 (patch)
treeafc277c5a7b5d6b52d0a69aad8ba82b3e3019389 /src
parent23b7c55689a2990eafa55af16ced18d7f41a6463 (diff)
downloademacs-41618deb16f1cc957b73a803fe27c793bd511d47.tar.gz
(Fwrite_region): Ignore EINVAL error from fsync.
Diffstat (limited to 'src')
-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