mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 13:54:21 +00:00
std.Io.net.HostName: fix connectMany not running DNS async
This commit is contained in:
parent
6336d58661
commit
f14c4c3db8
1 changed files with 7 additions and 7 deletions
|
|
@ -268,20 +268,20 @@ pub fn connectMany(
|
||||||
var canonical_name_buffer: [max_len]u8 = undefined;
|
var canonical_name_buffer: [max_len]u8 = undefined;
|
||||||
var lookup_buffer: [32]HostName.LookupResult = undefined;
|
var lookup_buffer: [32]HostName.LookupResult = undefined;
|
||||||
var lookup_queue: Io.Queue(LookupResult) = .init(&lookup_buffer);
|
var lookup_queue: Io.Queue(LookupResult) = .init(&lookup_buffer);
|
||||||
|
var group: Io.Group = .init;
|
||||||
|
|
||||||
host_name.lookup(io, &lookup_queue, .{
|
group.async(io, lookup, .{ host_name, io, &lookup_queue, .{
|
||||||
.port = port,
|
.port = port,
|
||||||
.canonical_name_buffer = &canonical_name_buffer,
|
.canonical_name_buffer = &canonical_name_buffer,
|
||||||
});
|
} });
|
||||||
|
|
||||||
var group: Io.Group = .init;
|
|
||||||
|
|
||||||
while (lookup_queue.getOne(io)) |dns_result| switch (dns_result) {
|
while (lookup_queue.getOne(io)) |dns_result| switch (dns_result) {
|
||||||
.address => |address| group.async(io, enqueueConnection, .{ address, io, results, options }),
|
.address => |address| group.async(io, enqueueConnection, .{ address, io, results, options }),
|
||||||
.canonical_name => continue,
|
.canonical_name => continue,
|
||||||
.end => |lookup_result| {
|
.end => |lookup_result| {
|
||||||
group.waitUncancelable(io);
|
results.putOneUncancelable(io, .{
|
||||||
results.putOneUncancelable(io, .{ .end = lookup_result });
|
.end = if (group.wait(io)) lookup_result else |err| err,
|
||||||
|
});
|
||||||
return;
|
return;
|
||||||
},
|
},
|
||||||
} else |err| switch (err) {
|
} else |err| switch (err) {
|
||||||
|
|
@ -409,7 +409,7 @@ test ResolvConf {
|
||||||
\\# Generated by resolvconf
|
\\# Generated by resolvconf
|
||||||
\\nameserver 1.0.0.1
|
\\nameserver 1.0.0.1
|
||||||
\\nameserver 1.1.1.1
|
\\nameserver 1.1.1.1
|
||||||
\\nameserver fe80::e0e:76ff:fed4:cf22%eno1
|
\\nameserver fe80::e0e:76ff:fed4:cf22
|
||||||
\\options edns0
|
\\options edns0
|
||||||
\\
|
\\
|
||||||
;
|
;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue