| ... | ... | @@ -533,7 +533,7 @@ test "sendmsg/recvmsg" { |
| 533 | 533 | defer posix.close(server); |
| 534 | 534 | try posix.setsockopt(server, posix.SOL.SOCKET, posix.SO.REUSEPORT, &mem.toBytes(@as(c_int, 1))); |
| 535 | 535 | try posix.setsockopt(server, posix.SOL.SOCKET, posix.SO.REUSEADDR, &mem.toBytes(@as(c_int, 1))); |
| 536 | | try posix.bind(server, addrAny(&address_server), @sizeOf(linux.sockaddr.in)); |
| 536 | try bind(server, addrAny(&address_server), @sizeOf(linux.sockaddr.in)); |
| 537 | 537 | |
| 538 | 538 | // set address_server to the OS-chosen IP/port. |
| 539 | 539 | var slen: posix.socklen_t = @sizeOf(linux.sockaddr.in); |
| ... | ... | @@ -1036,7 +1036,7 @@ test "shutdown" { |
| 1036 | 1036 | const server = try socket(address.family, posix.SOCK.STREAM | posix.SOCK.CLOEXEC, 0); |
| 1037 | 1037 | defer posix.close(server); |
| 1038 | 1038 | try posix.setsockopt(server, posix.SOL.SOCKET, posix.SO.REUSEADDR, &mem.toBytes(@as(c_int, 1))); |
| 1039 | | try posix.bind(server, addrAny(&address), @sizeOf(linux.sockaddr.in)); |
| 1039 | try bind(server, addrAny(&address), @sizeOf(linux.sockaddr.in)); |
| 1040 | 1040 | try posix.listen(server, 1); |
| 1041 | 1041 | |
| 1042 | 1042 | // set address to the OS-chosen IP/port. |
| ... | ... | @@ -2661,7 +2661,7 @@ fn createListenerSocket(address: *linux.sockaddr.in) !posix.socket_t { |
| 2661 | 2661 | errdefer posix.close(listener_socket); |
| 2662 | 2662 | |
| 2663 | 2663 | try posix.setsockopt(listener_socket, posix.SOL.SOCKET, posix.SO.REUSEADDR, &mem.toBytes(@as(c_int, 1))); |
| 2664 | | try posix.bind(listener_socket, addrAny(address), @sizeOf(linux.sockaddr.in)); |
| 2664 | try bind(listener_socket, addrAny(address), @sizeOf(linux.sockaddr.in)); |
| 2665 | 2665 | try posix.listen(listener_socket, kernel_backlog); |
| 2666 | 2666 | |
| 2667 | 2667 | // set address to the OS-chosen IP/port. |
| ... | ... | @@ -2703,3 +2703,10 @@ fn socket(domain: u32, socket_type: u32, protocol: u32) !posix.socket_t { |
| 2703 | 2703 | else => return error.SocketCreationFailure, |
| 2704 | 2704 | } |
| 2705 | 2705 | } |
| 2706 | |
| 2707 | fn bind(sock: posix.socket_t, addr: *const posix.sockaddr, len: posix.socklen_t) !void { |
| 2708 | switch (posix.errno(posix.system.bind(sock, addr, len))) { |
| 2709 | .SUCCESS => return, |
| 2710 | else => return error.BindFailure, |
| 2711 | } |
| 2712 | } |