diff options
| author | Loris Cro <kappaloris@gmail.com> | 2020-06-20 00:17:10 +0200 |
|---|---|---|
| committer | Loris Cro <kappaloris@gmail.com> | 2020-09-24 22:06:21 +0200 |
| commit | 7a07c62a075ada32c5eca298e4ed6a4c8a14cf89 (patch) | |
| tree | 9d0d5d7c1c41d1bde2bc2e7ef7d0bd9e44cf3f94 /lib/std/fs | |
| parent | 18f6629bd8ad8bd13108ddce82c32baf6f53628e (diff) | |
| download | zig-7a07c62a075ada32c5eca298e4ed6a4c8a14cf89.tar.gz zig-7a07c62a075ada32c5eca298e4ed6a4c8a14cf89.zip | |
pwrite
Signed-off-by: Loris Cro <kappaloris@gmail.com>
Diffstat (limited to 'lib/std/fs')
| -rw-r--r-- | lib/std/fs/file.zig | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/std/fs/file.zig b/lib/std/fs/file.zig index ab7ea2f579..60efe28ec2 100644 --- a/lib/std/fs/file.zig +++ b/lib/std/fs/file.zig @@ -566,10 +566,12 @@ pub const File = struct { pub fn pwrite(self: File, bytes: []const u8, offset: u64) PWriteError!usize { if (is_windows) { return windows.WriteFile(self.handle, bytes, offset, self.intended_io_mode); - } else if (self.capable_io_mode != self.intended_io_mode) { - return std.event.Loop.instance.?.pwrite(self.handle, bytes, offset); - } else { + } + + if (self.intended_io_mode == .blocking) { return os.pwrite(self.handle, bytes, offset); + } else { + return std.event.Loop.instance.?.pwrite(self.handle, bytes, offset, self.capable_io_mode != self.intended_io_mode); } } |
