aboutsummaryrefslogtreecommitdiff
path: root/lib/std/event/loop.zig
diff options
context:
space:
mode:
authorTadeo Kondrak <me@tadeo.ca>2020-04-29 04:33:05 -0600
committerTadeo Kondrak <me@tadeo.ca>2020-04-29 04:33:29 -0600
commit07c1be80c2e656520d431287ff4af78823e19233 (patch)
treeb6a3669665d940596fc91782fd64540ce879fa15 /lib/std/event/loop.zig
parent5929e5ca0ebde636dd69d52d648df8cff59e6d96 (diff)
downloadzig-07c1be80c2e656520d431287ff4af78823e19233.tar.gz
zig-07c1be80c2e656520d431287ff4af78823e19233.zip
Fix std.event.Loop.readv
Diffstat (limited to 'lib/std/event/loop.zig')
-rw-r--r--lib/std/event/loop.zig12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/std/event/loop.zig b/lib/std/event/loop.zig
index 617603c020..f0ac85d4f0 100644
--- a/lib/std/event/loop.zig
+++ b/lib/std/event/loop.zig
@@ -1080,6 +1080,9 @@ pub const Loop = struct {
.read => |*msg| {
msg.result = noasync os.read(msg.fd, msg.buf);
},
+ .readv => |*msg| {
+ msg.result = noasync os.readv(msg.fd, msg.iov);
+ },
.write => |*msg| {
msg.result = noasync os.write(msg.fd, msg.bytes);
},
@@ -1174,6 +1177,7 @@ pub const Loop = struct {
pub const Msg = union(enum) {
read: Read,
+ readv: ReadV,
write: Write,
writev: WriteV,
pwritev: PWriteV,
@@ -1195,6 +1199,14 @@ pub const Loop = struct {
pub const Error = os.ReadError;
};
+ pub const ReadV = struct {
+ fd: os.fd_t,
+ iov: []const os.iovec,
+ result: Error!usize,
+
+ pub const Error = os.ReadError;
+ };
+
pub const Write = struct {
fd: os.fd_t,
bytes: []const u8,