diff options
-rw-r--r-- | src/ChangeLog | 4 | ||||
-rw-r--r-- | src/fileio.c | 6 |
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 |