diff options
| -rw-r--r-- | lib/std/net.zig | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/std/net.zig b/lib/std/net.zig index 34af916d13..919175e41d 100644 --- a/lib/std/net.zig +++ b/lib/std/net.zig @@ -573,7 +573,15 @@ pub fn tcpConnectToHost(allocator: *mem.Allocator, name: []const u8, port: u16) if (list.addrs.len == 0) return error.UnknownHostName; - return tcpConnectToAddress(list.addrs[0]); + for (list.addrs) |addr| { + return tcpConnectToAddress(addr) catch |err| switch (err) { + error.ConnectionRefused => { + continue; + }, + else => return err, + }; + } + return std.os.ConnectError.ConnectionRefused; } pub fn tcpConnectToAddress(address: Address) !fs.File { |
