Mercurial > vim
changeset 12918:8ba2a921cd86 v8.0.1335
patch 8.0.1335: writefile() using fsync() may give an error.
commit https://github.com/vim/vim/commit/291a9d15ed1eb1094edc8ad6dda00a6da3bd7072
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Nov 25 14:37:11 2017 +0100
patch 8.0.1335: writefile() using fsync() may give an error.
Problem: Writefile() using fsync() may give an error for a device.
(Yasuhiro Matsumoto)
Solution: Ignore fsync() failing. (closes #2373)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 25 Nov 2017 14:45:04 +0100 |
parents | f4f2426f5a01 |
children | ddb76d6af5de |
files | src/evalfunc.c src/version.c |
diffstat | 2 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -13449,8 +13449,10 @@ f_writefile(typval_T *argvars, typval_T 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); }