authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-10-16 16:02:35-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-10-29 06:20:50-07:00
logf14c4c3db88b6194205369312d0e616c793c5e47
tree3c1a88eb976a9a0a71f89e4adece20d0513a8e45
parent6336d586614a547a550d6d7055b364ca53775a60

std.Io.net.HostName: fix connectMany not running DNS async


1 files changed, 7 insertions(+), 7 deletions(-)

lib/std/Io/net/HostName.zig+7-7
...@@ -268,20 +268,20 @@ pub fn connectMany(...@@ -268,20 +268,20 @@ pub fn connectMany(
268 var canonical_name_buffer: [max_len]u8 = undefined;268 var canonical_name_buffer: [max_len]u8 = undefined;
269 var lookup_buffer: [32]HostName.LookupResult = undefined;269 var lookup_buffer: [32]HostName.LookupResult = undefined;
270 var lookup_queue: Io.Queue(LookupResult) = .init(&lookup_buffer);270 var lookup_queue: Io.Queue(LookupResult) = .init(&lookup_buffer);
271 var group: Io.Group = .init;
271272
272 host_name.lookup(io, &lookup_queue, .{273 group.async(io, lookup, .{ host_name, io, &lookup_queue, .{
273 .port = port,274 .port = port,
274 .canonical_name_buffer = &canonical_name_buffer,275 .canonical_name_buffer = &canonical_name_buffer,
275 });276 } });
276
277 var group: Io.Group = .init;
278277
279 while (lookup_queue.getOne(io)) |dns_result| switch (dns_result) {278 while (lookup_queue.getOne(io)) |dns_result| switch (dns_result) {
280 .address => |address| group.async(io, enqueueConnection, .{ address, io, results, options }),279 .address => |address| group.async(io, enqueueConnection, .{ address, io, results, options }),
281 .canonical_name => continue,280 .canonical_name => continue,
282 .end => |lookup_result| {281 .end => |lookup_result| {
283 group.waitUncancelable(io);282 results.putOneUncancelable(io, .{
284 results.putOneUncancelable(io, .{ .end = lookup_result });283 .end = if (group.wait(io)) lookup_result else |err| err,
284 });
285 return;285 return;
286 },286 },
287 } else |err| switch (err) {287 } else |err| switch (err) {
...@@ -409,7 +409,7 @@ test ResolvConf {...@@ -409,7 +409,7 @@ test ResolvConf {
409 \\# Generated by resolvconf409 \\# Generated by resolvconf
410 \\nameserver 1.0.0.1410 \\nameserver 1.0.0.1
411 \\nameserver 1.1.1.1411 \\nameserver 1.1.1.1
412 \\nameserver fe80::e0e:76ff:fed4:cf22%eno1412 \\nameserver fe80::e0e:76ff:fed4:cf22
413 \\options edns0413 \\options edns0
414 \\414 \\
415 ;415 ;