Close write buffer file descriptor before getting the new fs timestamp

This commit is contained in:
Maxime Coste 2016-10-03 20:00:36 +01:00
parent 4addf65042
commit c7356c8e9c

View File

@ -260,9 +260,11 @@ void write_buffer_to_file(Buffer& buffer, StringView filename)
O_CREAT | O_WRONLY | O_TRUNC, 0644); O_CREAT | O_WRONLY | O_TRUNC, 0644);
if (fd == -1) if (fd == -1)
throw file_access_error(filename, strerror(errno)); throw file_access_error(filename, strerror(errno));
auto close_fd = on_scope_end([fd]{ close(fd); });
write_buffer_to_fd(buffer, fd); {
auto close_fd = on_scope_end([fd]{ close(fd); });
write_buffer_to_fd(buffer, fd);
}
if ((buffer.flags() & Buffer::Flags::File) and if ((buffer.flags() & Buffer::Flags::File) and
real_path(filename) == real_path(buffer.name())) real_path(filename) == real_path(buffer.name()))