| ... | @@ -1037,7 +1037,7 @@ test "shutdown" { | ... | @@ -1037,7 +1037,7 @@ test "shutdown" { |
| 1037 | defer posix.close(server); | 1037 | defer posix.close(server); |
| 1038 | try posix.setsockopt(server, posix.SOL.SOCKET, posix.SO.REUSEADDR, &mem.toBytes(@as(c_int, 1))); | 1038 | try posix.setsockopt(server, posix.SOL.SOCKET, posix.SO.REUSEADDR, &mem.toBytes(@as(c_int, 1))); |
| 1039 | try bind(server, addrAny(&address), @sizeOf(linux.sockaddr.in)); | 1039 | try bind(server, addrAny(&address), @sizeOf(linux.sockaddr.in)); |
| 1040 | try posix.listen(server, 1); | 1040 | try listen(server, 1); |
| 1041 | | 1041 | |
| 1042 | // set address to the OS-chosen IP/port. | 1042 | // set address to the OS-chosen IP/port. |
| 1043 | var slen: posix.socklen_t = @sizeOf(linux.sockaddr.in); | 1043 | var slen: posix.socklen_t = @sizeOf(linux.sockaddr.in); |
| ... | @@ -2662,7 +2662,7 @@ fn createListenerSocket(address: *linux.sockaddr.in) !posix.socket_t { | ... | @@ -2662,7 +2662,7 @@ fn createListenerSocket(address: *linux.sockaddr.in) !posix.socket_t { |
| 2662 | | 2662 | |
| 2663 | try posix.setsockopt(listener_socket, posix.SOL.SOCKET, posix.SO.REUSEADDR, &mem.toBytes(@as(c_int, 1))); | 2663 | try posix.setsockopt(listener_socket, posix.SOL.SOCKET, posix.SO.REUSEADDR, &mem.toBytes(@as(c_int, 1))); |
| 2664 | try bind(listener_socket, addrAny(address), @sizeOf(linux.sockaddr.in)); | 2664 | try bind(listener_socket, addrAny(address), @sizeOf(linux.sockaddr.in)); |
| 2665 | try posix.listen(listener_socket, kernel_backlog); | 2665 | try listen(listener_socket, kernel_backlog); |
| 2666 | | 2666 | |
| 2667 | // set address to the OS-chosen IP/port. | 2667 | // set address to the OS-chosen IP/port. |
| 2668 | var slen: posix.socklen_t = @sizeOf(linux.sockaddr.in); | 2668 | var slen: posix.socklen_t = @sizeOf(linux.sockaddr.in); |
| ... | @@ -2710,3 +2710,10 @@ fn bind(sock: posix.socket_t, addr: *const posix.sockaddr, len: posix.socklen_t) | ... | @@ -2710,3 +2710,10 @@ fn bind(sock: posix.socket_t, addr: *const posix.sockaddr, len: posix.socklen_t) |
| 2710 | else => return error.BindFailure, | 2710 | else => return error.BindFailure, |
| 2711 | } | 2711 | } |
| 2712 | } | 2712 | } |
| | 2713 | |
| | 2714 | fn listen(sock: posix.socket_t, backlog: u31) !void { |
| | 2715 | switch (posix.errno(posix.system.listen(sock, backlog))) { |
| | 2716 | .SUCCESS => return, |
| | 2717 | else => return error.ListenFailure, |
| | 2718 | } |
| | 2719 | } |