From 278de872f76cb617c969037468a832245615090f Mon Sep 17 00:00:00 2001 From: ZyX Date: Thu, 6 Aug 2015 22:38:30 +0300 Subject: shada: Synchronize sd_writer file before closing --- src/nvim/shada.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src') 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 -- cgit