summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-11-25 14:37:11 +0100
committerBram Moolenaar <Bram@vim.org>2017-11-25 14:37:11 +0100
commit291a9d15ed1eb1094edc8ad6dda00a6da3bd7072 (patch)
treed9dfba6e1c0d0a3b44d97cd271e134134e196190
parent3167c3e7010ac7e2fd7d3aa198dd2d1dcff8ecc8 (diff)
downloadvim-git-291a9d15ed1eb1094edc8ad6dda00a6da3bd7072.tar.gz
patch 8.0.1335: writefile() using fsync() may give an error.v8.0.1335
Problem: Writefile() using fsync() may give an error for a device. (Yasuhiro Matsumoto) Solution: Ignore fsync() failing. (closes #2373)
-rw-r--r--src/evalfunc.c6
-rw-r--r--src/version.c2
2 files changed, 6 insertions, 2 deletions
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 8d288e0dc..76c576855 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -13449,8 +13449,10 @@ f_writefile(typval_T *argvars, typval_T *rettv)
if (write_list(fd, list, binary) == FAIL)
ret = -1;
#ifdef HAVE_FSYNC
- else if (do_fsync && fsync(fileno(fd)) != 0)
- EMSG(_(e_fsync));
+ else if (do_fsync)
+ /* Ignore the error, the user wouldn't know what to do about it.
+ * May happen for a device. */
+ ignored = fsync(fileno(fd));
#endif
fclose(fd);
}
diff --git a/src/version.c b/src/version.c
index 408b85cd4..e0ba19e28 100644
--- a/src/version.c
+++ b/src/version.c
@@ -772,6 +772,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1335,
+/**/
1334,
/**/
1333,