commit bf16fc210bc765202489ae83e0ad1dce8d9b4e16 (tree)
parent fafd1fd4806e4f92b19bd5285cbe8d6748a90c54
Author: Luna <git@l4.pm>
Date: Sat, 26 Oct 2019 22:00:50 -0300
fix std.os.accept4
- add WouldBlock to list of errors in AcceptError
- ptrCast addr_size to the system's socklen_t, instead of assuming it's
usize
Diffstat:
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/lib/std/os.zig b/lib/std/os.zig
@@ -1630,6 +1630,10 @@ pub const AcceptError = error{
/// Firewall rules forbid connection.
BlockedByFirewall,
+
+ /// This error occurs when no global event loop is configured,
+ /// and accepting from the socket would block.
+ WouldBlock,
} || UnexpectedError;
/// Accept a connection on a socket.
@@ -1661,7 +1665,7 @@ pub fn accept4(
flags: u32,
) AcceptError!i32 {
while (true) {
- const rc = system.accept4(sockfd, addr, addr_size, flags);
+ const rc = system.accept4(sockfd, addr, @ptrCast(*system.socklen_t, addr_size), flags);
switch (errno(rc)) {
0 => return @intCast(i32, rc),
EINTR => continue,