commit 77c09d16f9d992b19bc7cb2d2497f8009e0250ba (tree)
parent 47a2f2ddae9cc47ff6df7a71060bbb3f5f20f2e8
Author: Alex Rønne Petersen <alex@alexrp.com>
Date: Thu, 21 Aug 2025 01:10:35 +0200
std.fs.Dir: fix updateFile() to flush the file before updating its times
AtomicFile.finish() calls flush() which renders any previous updateTimes() calls
useless. Regression introduced in f2a3ac7c0534a74ee544fdf6ef9d2176a8d62389.
Closes #24927.
Diffstat:
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/std/fs/Dir.zig b/lib/std/fs/Dir.zig
@@ -2583,8 +2583,9 @@ pub fn updateFile(
error.ReadFailed => return src_reader.err.?,
error.WriteFailed => return atomic_file.file_writer.err.?,
};
+ try atomic_file.flush();
try atomic_file.file_writer.file.updateTimes(src_stat.atime, src_stat.mtime);
- try atomic_file.finish();
+ try atomic_file.renameIntoPlace();
return .stale;
}