From 988afd51cd34649887f493b6ac9e05fcaa1f768d Mon Sep 17 00:00:00 2001 From: r00ster Date: Tue, 12 Apr 2022 11:32:45 +0200 Subject: [PATCH] Add `std.fs.File.sync` (#11410) --- lib/std/fs/file.zig | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/std/fs/file.zig b/lib/std/fs/file.zig index 568c34e0ac..3ea8dd0285 100644 --- a/lib/std/fs/file.zig +++ b/lib/std/fs/file.zig @@ -200,6 +200,17 @@ pub const File = struct { } } + pub const SyncError = os.SyncError; + + /// Blocks until all pending file contents and metadata modifications + /// for the file have been synchronized with the underlying filesystem. + /// + /// Note that this does not ensure that metadata for the + /// directory containing the file has also reached disk. + pub fn sync(self: File) SyncError!void { + return os.fsync(self.handle); + } + /// Test whether the file refers to a terminal. /// See also `supportsAnsiEscapeCodes`. pub fn isTty(self: File) bool {