aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Rønne Petersen <alex@alexrp.com>2025-08-21 01:10:35 +0200
committerAndrew Kelley <andrew@ziglang.org>2025-08-23 12:32:14 -0700
commit77c09d16f9d992b19bc7cb2d2497f8009e0250ba (patch)
tree12c3bcb70dd615ef69a2286c3a83ff9a52022579
parent47a2f2ddae9cc47ff6df7a71060bbb3f5f20f2e8 (diff)
downloadzig-77c09d16f9d992b19bc7cb2d2497f8009e0250ba.tar.gz
zig-77c09d16f9d992b19bc7cb2d2497f8009e0250ba.zip
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.
-rw-r--r--lib/std/fs/Dir.zig3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/std/fs/Dir.zig b/lib/std/fs/Dir.zig
index 16418d216f..768efdeff5 100644
--- 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;
}