From 715587f8e44e941ece6f17eb77620fd1b4719496 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Fri, 28 Apr 2023 21:07:00 +0800 Subject: vim-patch:8.2.3509: undo file is not synced (#23371) Problem: Undo file is not synced. (Sami Farin) Solution: Sync the undo file if 'fsync' is set. (Christian Brabandt, closes vim/vim#8879, closes vim/vim#8920) https://github.com/vim/vim/commit/340dd0fbe462a15a9678cfba02085b4adcc45f02 Co-authored-by: Bram Moolenaar --- src/nvim/undo.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src') diff --git a/src/nvim/undo.c b/src/nvim/undo.c index f4f97fd8ee..64c16ed192 100644 --- a/src/nvim/undo.c +++ b/src/nvim/undo.c @@ -1333,6 +1333,10 @@ void u_write_undo(const char *const name, const bool forceit, buf_T *const buf, } #endif + if (p_fs && fflush(fp) == 0 && os_fsync(fd) != 0) { + write_ok = false; + } + write_error: fclose(fp); if (!write_ok) { -- cgit