zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

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:
Mlib/std/os.zig | 6+++++-
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,