diff options
Diffstat (limited to 'src/storage/user.zig')
| -rw-r--r-- | src/storage/user.zig | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/storage/user.zig b/src/storage/user.zig index 4170fd1..d5260fe 100644 --- a/src/storage/user.zig +++ b/src/storage/user.zig @@ -58,7 +58,7 @@ pub fn open( var dir = try user_dir.openDir(name, .{}); errdefer dir.close(); - const file = try dir.openFile("info.json", .{}); + const file = try dir.openFile("info.json", .{ .lock = .shared }); defer file.close(); const content = try file.readToEndAlloc(allocator, std.math.maxInt(usize)); @@ -91,7 +91,7 @@ pub fn new( var dir = try user_dir.openDir(name, .{}); errdefer dir.close(); - var file = try dir.createFile("info.json", .{}); + var file = try dir.createFile("info.json", .{ .lock = .exclusive }); file.close(); const hash_buf = try allocator.alloc(u8, 256); @@ -124,7 +124,10 @@ pub fn new( } pub fn sync(self: *Self) !void { - const file = try self.dir.openFile("info.json", .{ .mode = .write_only }); + const file = try self.dir.openFile("info.json", .{ + .mode = .write_only, + .lock = .exclusive, + }); defer file.close(); var buffer: [1024]u8 = undefined; |