authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-01-17 19:09:57-08:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2026-01-18 21:40:15+01:00
logd2dda0737b72c9ce5c156050b2b8eb62b50bbf62
tree117dabf9649fc67957ed66bb0c7def3054e6d825
parent4cc3e1c05ea7ed62c5961b5a014c83fd98a72021

std.Io.Threaded: sendmmsg can return EACCES


1 files changed, 23 insertions(+), 25 deletions(-)

lib/std/Io/Threaded.zig+23-25
...@@ -11330,31 +11330,29 @@ fn netSendMany(...@@ -11330,31 +11330,29 @@ fn netSendMany(
11330 try syscall.checkCancel();11330 try syscall.checkCancel();
11331 continue;11331 continue;
11332 },11332 },
11333 else => |e| {11333 .ACCES => return syscall.fail(error.AccessDenied),
11334 syscall.finish();11334 .ALREADY => return syscall.fail(error.FastOpenAlreadyInProgress),
11335 switch (e) {11335 .CONNRESET => return syscall.fail(error.ConnectionResetByPeer),
11336 .AGAIN => |err| return errnoBug(err),11336 .MSGSIZE => return syscall.fail(error.MessageOversize),
11337 .ALREADY => return error.FastOpenAlreadyInProgress,11337 .NOBUFS => return syscall.fail(error.SystemResources),
11338 .BADF => |err| return errnoBug(err), // File descriptor used after closed.11338 .NOMEM => return syscall.fail(error.SystemResources),
11339 .CONNRESET => return error.ConnectionResetByPeer,11339 .PIPE => return syscall.fail(error.SocketUnconnected),
11340 .DESTADDRREQ => |err| return errnoBug(err), // The socket is not connection-mode, and no peer address is set.11340 .AFNOSUPPORT => return syscall.fail(error.AddressFamilyUnsupported),
11341 .FAULT => |err| return errnoBug(err), // An invalid user space address was specified for an argument.11341 .HOSTUNREACH => return syscall.fail(error.HostUnreachable),
11342 .INVAL => |err| return errnoBug(err), // Invalid argument passed.11342 .NETUNREACH => return syscall.fail(error.NetworkUnreachable),
11343 .ISCONN => |err| return errnoBug(err), // connection-mode socket was connected already but a recipient was specified11343 .NOTCONN => return syscall.fail(error.SocketUnconnected),
11344 .MSGSIZE => return error.MessageOversize,11344 .NETDOWN => return syscall.fail(error.NetworkDown),
11345 .NOBUFS => return error.SystemResources,11345
11346 .NOMEM => return error.SystemResources,11346 .AGAIN => |err| return syscall.errnoBug(err),
11347 .NOTSOCK => |err| return errnoBug(err), // The file descriptor sockfd does not refer to a socket.11347 .BADF => |err| return syscall.errnoBug(err), // File descriptor used after closed.
11348 .OPNOTSUPP => |err| return errnoBug(err), // Some bit in the flags argument is inappropriate for the socket type.11348 .DESTADDRREQ => |err| return syscall.errnoBug(err), // The socket is not connection-mode, and no peer address is set.
11349 .PIPE => return error.SocketUnconnected,11349 .FAULT => |err| return syscall.errnoBug(err), // An invalid user space address was specified for an argument.
11350 .AFNOSUPPORT => return error.AddressFamilyUnsupported,11350 .INVAL => |err| return syscall.errnoBug(err), // Invalid argument passed.
11351 .HOSTUNREACH => return error.HostUnreachable,11351 .ISCONN => |err| return syscall.errnoBug(err), // connection-mode socket was connected already but a recipient was specified
11352 .NETUNREACH => return error.NetworkUnreachable,11352 .NOTSOCK => |err| return syscall.errnoBug(err), // The file descriptor sockfd does not refer to a socket.
11353 .NOTCONN => return error.SocketUnconnected,11353 .OPNOTSUPP => |err| return syscall.errnoBug(err), // Some bit in the flags argument is inappropriate for the socket type.
11354 .NETDOWN => return error.NetworkDown,11354
11355 else => |err| return posix.unexpectedErrno(err),11355 else => |err| return syscall.unexpectedErrno(err),
11356 }
11357 },
11358 }11356 }
11359 }11357 }
11360}11358}