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;