commit 3110060351f98ea8de65809379e1bcd9607fb1cb (tree)
parent eb4d313dbc406b37f6bfdd98988c88c3b8ed542e
Author: LeRoyce Pearson <leroycepearson@geemili.xyz>
Date: Sun, 8 Mar 2020 16:28:49 -0600
Add `lock` to fs.File.OpenFlags
Diffstat:
1 file changed, 9 insertions(+), 0 deletions(-)
diff --git a/lib/std/fs/file.zig b/lib/std/fs/file.zig
@@ -41,6 +41,15 @@ pub const File = struct {
read: bool = true,
write: bool = false,
+ /// Open the file with exclusive access. If `write` is true, then the file is opened with an
+ /// exclusive lock, meaning that no other processes can read or write to the file. Otherwise
+ /// the file is opened with a shared lock, allowing the other processes to read from the
+ /// file, but not to write to the file.
+ ///
+ /// Note that the lock is only advisory on Linux. This means that a process that does not
+ /// respect the locking API can still read and write to the file, despite the lock.
+ lock: bool = false,
+
/// This prevents `O_NONBLOCK` from being passed even if `std.io.is_async`.
/// It allows the use of `noasync` when calling functions related to opening
/// the file, reading, and writing.