RFR(s): 8228580: DnsClient TCP socket timeout

Florian Weimer fweimer at redhat.com
Thu Sep 5 16:59:16 UTC 2019

* Milan Mimica:

> On Wed, 4 Sep 2019 at 20:32, Florian Weimer <fweimer at redhat.com> wrote:
>> If you use the initial UDP timeout (one second, I think), the kernel
>> will not complete the TCP handshake if the initial SYN segment is lost
>> because the retransmit delay during the handshake is longer than that.
> We could set a higher timeout value, but I would not prefer that.
> After all, 1 second is just default value, and can be changed. If the
> user wants us to give up on DNS query after the specified timeout then
> lets do just that.

But I think in the UDP case, the client will retry.  I think the total
timeout in the TCP case should equal the total timeout in the UDP case.
That's what I'm going to implement for glibc.  The difference is that in
the TCP case, the TCP stack will take care of the retries, not the
application code.


More information about the core-libs-dev mailing list