Re: [PATCH v2] resolv: Disable TCP servers in tst-resolv-res_init-failure
Carlos O'Donell <[email protected]>
| Newsgroups | gmane.comp.lib.glibc.alpha |
|---|---|
| Message-ID | <[email protected]> |
On 7/21/26 2:50 AM, Florian Weimer wrote: > This avoids spurious xaccept errors on slow systems. With this change, > the test still reproduces the original bug. LGTM. Reviewed-by: Carlos O'Donell <[email protected]> > --- > v2: Commented updated. > resolv/tst-resolv-res_init-failure.c | 17 ++++++++++++++++- > 1 file changed, 16 insertions(+), 1 deletion(-) > > diff --git a/resolv/tst-resolv-res_init-failure.c b/resolv/tst-resolv-res_init-failure.c > index d20348acf2..b3cb0b70fe 100644 > --- a/resolv/tst-resolv-res_init-failure.c > +++ b/resolv/tst-resolv-res_init-failure.c > @@ -66,7 +66,22 @@ static int > do_test (void) > { > struct resolv_test *aux = resolv_test_start > - ((struct resolv_redirect_config) { .response_callback = response }); > + ((struct resolv_redirect_config) > + { > + .response_callback = response, > + /* Disable TCP servers to prevent test failures due to a race > + condition: If the initial setrlimit call below executes > + before the kernel has allocated the client FD in the accept > + system call on the TCP DNS server threads, the system call > + fails even if no client connections arrive. (The FD is > + pre-allocated.) */ OK. That is enough to highlight the conflict is with the xaccept in the server thread. > + .servers = > + { > + { .disable_tcp = true, }, > + { .disable_tcp = true, }, > + { .disable_tcp = true, }, > + }, > + }); > > /* Initial lookup. This drives __res_context_send through its init > block, which allocates _u._ext.nsaddrs[] and sets > > base-commit: 249639137ed360d1827d9e663261ba26d2b01d81 >