Mercurial > vim
comparison src/evalfunc.c @ 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 | 10cb5c3df3f5 |
children | 2d817fd289ba |
comparison
equal
deleted
inserted
replaced
12917:f4f2426f5a01 | 12918:8ba2a921cd86 |
---|---|
13447 else | 13447 else |
13448 { | 13448 { |
13449 if (write_list(fd, list, binary) == FAIL) | 13449 if (write_list(fd, list, binary) == FAIL) |
13450 ret = -1; | 13450 ret = -1; |
13451 #ifdef HAVE_FSYNC | 13451 #ifdef HAVE_FSYNC |
13452 else if (do_fsync && fsync(fileno(fd)) != 0) | 13452 else if (do_fsync) |
13453 EMSG(_(e_fsync)); | 13453 /* Ignore the error, the user wouldn't know what to do about it. |
13454 * May happen for a device. */ | |
13455 ignored = fsync(fileno(fd)); | |
13454 #endif | 13456 #endif |
13455 fclose(fd); | 13457 fclose(fd); |
13456 } | 13458 } |
13457 | 13459 |
13458 rettv->vval.v_number = ret; | 13460 rettv->vval.v_number = ret; |