diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/shada.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/nvim/shada.c b/src/nvim/shada.c index 3e9f9298ab..2ba0398541 100644 --- a/src/nvim/shada.c +++ b/src/nvim/shada.c @@ -687,7 +687,13 @@ static void close_sd_reader(ShaDaReadDef *const sd_reader) static void close_sd_writer(ShaDaWriteDef *const sd_writer) FUNC_ATTR_NONNULL_ALL { - close_file((int)(intptr_t) sd_writer->cookie); + const int fd = (int)(intptr_t) sd_writer->cookie; + if (fsync(fd) < 0) { + emsg2(_(SERR "System error while synchronizing ShaDa file: %s"), + strerror(errno)); + errno = 0; + } + close_file(fd); } /// Wrapper for opening file descriptors |