commit d2dda0737b72c9ce5c156050b2b8eb62b50bbf62 (tree)
parent 4cc3e1c05ea7ed62c5961b5a014c83fd98a72021
Author: Andrew Kelley <andrew@ziglang.org>
Date: Sat, 17 Jan 2026 19:09:57 -0800
std.Io.Threaded: sendmmsg can return EACCES
Diffstat:
1 file changed, 23 insertions(+), 25 deletions(-)
diff --git a/lib/std/Io/Threaded.zig b/lib/std/Io/Threaded.zig
@@ -11330,31 +11330,29 @@ fn netSendMany(
try syscall.checkCancel();
continue;
},
- else => |e| {
- syscall.finish();
- switch (e) {
- .AGAIN => |err| return errnoBug(err),
- .ALREADY => return error.FastOpenAlreadyInProgress,
- .BADF => |err| return errnoBug(err), // File descriptor used after closed.
- .CONNRESET => return error.ConnectionResetByPeer,
- .DESTADDRREQ => |err| return errnoBug(err), // The socket is not connection-mode, and no peer address is set.
- .FAULT => |err| return errnoBug(err), // An invalid user space address was specified for an argument.
- .INVAL => |err| return errnoBug(err), // Invalid argument passed.
- .ISCONN => |err| return errnoBug(err), // connection-mode socket was connected already but a recipient was specified
- .MSGSIZE => return error.MessageOversize,
- .NOBUFS => return error.SystemResources,
- .NOMEM => return error.SystemResources,
- .NOTSOCK => |err| return errnoBug(err), // The file descriptor sockfd does not refer to a socket.
- .OPNOTSUPP => |err| return errnoBug(err), // Some bit in the flags argument is inappropriate for the socket type.
- .PIPE => return error.SocketUnconnected,
- .AFNOSUPPORT => return error.AddressFamilyUnsupported,
- .HOSTUNREACH => return error.HostUnreachable,
- .NETUNREACH => return error.NetworkUnreachable,
- .NOTCONN => return error.SocketUnconnected,
- .NETDOWN => return error.NetworkDown,
- else => |err| return posix.unexpectedErrno(err),
- }
- },
+ .ACCES => return syscall.fail(error.AccessDenied),
+ .ALREADY => return syscall.fail(error.FastOpenAlreadyInProgress),
+ .CONNRESET => return syscall.fail(error.ConnectionResetByPeer),
+ .MSGSIZE => return syscall.fail(error.MessageOversize),
+ .NOBUFS => return syscall.fail(error.SystemResources),
+ .NOMEM => return syscall.fail(error.SystemResources),
+ .PIPE => return syscall.fail(error.SocketUnconnected),
+ .AFNOSUPPORT => return syscall.fail(error.AddressFamilyUnsupported),
+ .HOSTUNREACH => return syscall.fail(error.HostUnreachable),
+ .NETUNREACH => return syscall.fail(error.NetworkUnreachable),
+ .NOTCONN => return syscall.fail(error.SocketUnconnected),
+ .NETDOWN => return syscall.fail(error.NetworkDown),
+
+ .AGAIN => |err| return syscall.errnoBug(err),
+ .BADF => |err| return syscall.errnoBug(err), // File descriptor used after closed.
+ .DESTADDRREQ => |err| return syscall.errnoBug(err), // The socket is not connection-mode, and no peer address is set.
+ .FAULT => |err| return syscall.errnoBug(err), // An invalid user space address was specified for an argument.
+ .INVAL => |err| return syscall.errnoBug(err), // Invalid argument passed.
+ .ISCONN => |err| return syscall.errnoBug(err), // connection-mode socket was connected already but a recipient was specified
+ .NOTSOCK => |err| return syscall.errnoBug(err), // The file descriptor sockfd does not refer to a socket.
+ .OPNOTSUPP => |err| return syscall.errnoBug(err), // Some bit in the flags argument is inappropriate for the socket type.
+
+ else => |err| return syscall.unexpectedErrno(err),
}
}
}