TCP is used since there are several edge cases where it still makes sense.
* September 22 2007 (Daniel Stenberg)
+- Steinar H. Gunderson modified c-ares to now also do to DNS retries even when
+ TCP is used since there are several edge cases where it still makes sense.
+
- Brad House provided a fix for ares_save_options():
Apparently I overlooked something with the ares_save_options() where it
}
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);
}