* Milan Mimica: > On Wed, 4 Sep 2019 at 20:32, Florian Weimer <fwei...@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. Thanks, Florian