[PATCH v2] resolv: Disable TCP servers in tst-resolv-res_init-failure
Carlos O'Donell
codonell@redhat.com
Tue Jul 21 12:14:03 GMT 2026
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 <carlos@redhat.com>
> ---
> 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
>
More information about the Libc-alpha
mailing list