diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2025-03-28 18:23:49 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2025-10-29 06:20:47 -0700 |
| commit | 66b0f7e92b64538de7f9d9f37a4ef1c25f0f6e5b (patch) | |
| tree | a73a14988d5fb2177833f7309a430ab2f45ada5d /lib/std/Thread/Pool.zig | |
| parent | 08bb7c6c889594f2a1694c5bdf0f4648be4a8d66 (diff) | |
| download | zig-66b0f7e92b64538de7f9d9f37a4ef1c25f0f6e5b.tar.gz zig-66b0f7e92b64538de7f9d9f37a4ef1c25f0f6e5b.zip | |
start adding fs functions to std.Io
Diffstat (limited to 'lib/std/Thread/Pool.zig')
| -rw-r--r-- | lib/std/Thread/Pool.zig | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/lib/std/Thread/Pool.zig b/lib/std/Thread/Pool.zig index d2b28492c6..486d067330 100644 --- a/lib/std/Thread/Pool.zig +++ b/lib/std/Thread/Pool.zig @@ -315,6 +315,11 @@ pub fn io(pool: *Pool) std.Io { .vtable = &.{ .@"async" = @"async", .@"await" = @"await", + .createFile = createFile, + .openFile = openFile, + .closeFile = closeFile, + .read = read, + .write = write, }, }; } @@ -399,3 +404,28 @@ pub fn @"await"(userdata: ?*anyopaque, any_future: *std.Io.AnyFuture, result: [] @memcpy(result, closure.resultPointer()[0..result.len]); thread_pool.allocator.free(base[0 .. closure.result_offset + result.len]); } + +pub fn createFile(userdata: ?*anyopaque, dir: std.fs.Dir, sub_path: []const u8, flags: std.fs.File.CreateFlags) std.fs.File.OpenError!std.fs.File { + _ = userdata; + return dir.createFile(sub_path, flags); +} + +pub fn openFile(userdata: ?*anyopaque, dir: std.fs.Dir, sub_path: []const u8, flags: std.fs.File.OpenFlags) std.fs.File.OpenError!std.fs.File { + _ = userdata; + return dir.openFile(sub_path, flags); +} + +pub fn closeFile(userdata: ?*anyopaque, file: std.fs.File) void { + _ = userdata; + return file.close(); +} + +pub fn read(userdata: ?*anyopaque, file: std.fs.File, buffer: []u8) std.fs.File.ReadError!usize { + _ = userdata; + return file.read(buffer); +} + +pub fn write(userdata: ?*anyopaque, file: std.fs.File, buffer: []const u8) std.fs.File.WriteError!usize { + _ = userdata; + return file.write(buffer); +} |
