diff options
| author | Nathan Reiner <nathan@nathanreiner.xyz> | 2025-11-17 09:57:09 +0100 |
|---|---|---|
| committer | Nathan Reiner <nathan@nathanreiner.xyz> | 2025-11-17 09:57:09 +0100 |
| commit | e95cf5c7b6a08eb560763d5167fbddc1c2117bcc (patch) | |
| tree | 2f7815c9f39328fcaced2113de727f63e4837fa3 /src/storage/user.zig | |
| parent | 0016aaa197697ec5ff38dfb3f63ac8b6f74b48e0 (diff) | |
add file uploading and multi-threading
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; |