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
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.