aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/std/net.zig10
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 {