authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-08-21 01:10:35+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-08-24 02:30:31+02:00
log98585af51d2611584d329ab4defe444a44b8f35e
tree89092603796ad4e12ef6c1be5d57bfd036a60c34
parent38ef3f899789839240437eced83f2d708b55b693
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

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.

1 files changed, 2 insertions(+), 1 deletions(-)

lib/std/fs/Dir.zig+2-1
......@@ -2583,8 +2583,9 @@ pub fn updateFile(
25832583 error.ReadFailed => return src_reader.err.?,
25842584 error.WriteFailed => return atomic_file.file_writer.err.?,
25852585 };
2586 try atomic_file.flush();
25862587 try atomic_file.file_writer.file.updateTimes(src_stat.atime, src_stat.mtime);
2587 try atomic_file.finish();
2588 try atomic_file.renameIntoPlace();
25882589 return .stale;
25892590}
25902591