@@ -84,7 +84,7 @@ pub fn connect(
8484 defer {
8585 connect_many.cancel(io);
8686 if (!saw_end) while (true) switch (connect_many_queue.getOneUncancelable(io)) {
87- .connection => |loser| if (loser) |s| s.closeConst (io) else |_| continue,
87+ .connection => |loser| if (loser) |s| s.close (io) else |_| continue,
8888 .end => break,
8989 };
9090 }
@@ -131,20 +131,20 @@ pub fn connectMany(
131131 var canonical_name_buffer: [max_len]u8 = undefined;
132132 var lookup_buffer: [32]HostName.LookupResult = undefined;
133133 var lookup_queue: Io.Queue(LookupResult) = .init(&lookup_buffer);
134+ var group: Io.Group = .init;
134135
135- host_name.lookup( io, &lookup_queue, .{
136+ group.async(io, lookup, .{ host_name, io, &lookup_queue, .{
136137 .port = port,
137138 .canonical_name_buffer = &canonical_name_buffer,
138- });
139-
140- var group: Io.Group = .init;
139+ } });
141140
142141 while (lookup_queue.getOne(io)) |dns_result| switch (dns_result) {
143142 .address => |address| group.async(io, enqueueConnection, .{ address, io, results, options }),
144143 .canonical_name => continue,
145144 .end => |lookup_result| {
146- group.waitUncancelable(io);
147- results.putOneUncancelable(io, .{ .end = lookup_result });
145+ results.putOneUncancelable(io, .{
146+ .end = if (group.wait(io)) lookup_result else |err| err,
147+ });
148148 return;
149149 },
150150 } else |err| switch (err) {
0 commit comments