diff options
Diffstat (limited to 'ares/ares_process.c')
-rw-r--r-- | ares/ares_process.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/ares/ares_process.c b/ares/ares_process.c index e8b9ef6fa..66007f0fb 100644 --- a/ares/ares_process.c +++ b/ares/ares_process.c @@ -504,9 +504,12 @@ static struct query *next_server(ares_channel channel, struct query *query, time } query->server = 0; - /* Only one try if we're using TCP. */ - if (query->using_tcp) - break; + /* You might think that with TCP we only need one try. However, + * even when using TCP, servers can time-out our connection just + * as we're sending a request, or close our connection because + * they die, or never send us a reply because they get wedged or + * tickle a bug that drops our request. + */ } return end_query(channel, query, query->error_status, NULL, 0); } |