aboutsummaryrefslogtreecommitdiff
path: root/lib/std/fs
diff options
context:
space:
mode:
authorLoris Cro <kappaloris@gmail.com>2020-06-19 23:13:54 +0200
committerLoris Cro <kappaloris@gmail.com>2020-09-24 22:04:43 +0200
commit59ecdaea127cb680d295ad02319dacba75ac1e73 (patch)
treeadac6a902a2af4e50cc45c9f7297a90bcae9ec23 /lib/std/fs
parentbd9f2369d5c4e5fcd38342c877f9ae6531f78909 (diff)
downloadzig-59ecdaea127cb680d295ad02319dacba75ac1e73.tar.gz
zig-59ecdaea127cb680d295ad02319dacba75ac1e73.zip
preadv
Signed-off-by: Loris Cro <kappaloris@gmail.com>
Diffstat (limited to 'lib/std/fs')
-rw-r--r--lib/std/fs/file.zig8
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/std/fs/file.zig b/lib/std/fs/file.zig
index cb3b41ffdf..4aa33fc5b9 100644
--- a/lib/std/fs/file.zig
+++ b/lib/std/fs/file.zig
@@ -506,10 +506,12 @@ pub const File = struct {
if (iovecs.len == 0) return @as(usize, 0);
const first = iovecs[0];
return windows.ReadFile(self.handle, first.iov_base[0..first.iov_len], offset, self.intended_io_mode);
- } else if (self.capable_io_mode != self.intended_io_mode) {
- return std.event.Loop.instance.?.preadv(self.handle, iovecs, offset);
- } else {
+ }
+
+ if (self.intended_io_mode == .blocking) {
return os.preadv(self.handle, iovecs, offset);
+ } else {
+ return std.event.Loop.instance.?.preadv(self.handle, iovecs, offset, self.capable_io_mode != self.intended_io_mode);
}
}