dns_client: avoid false re-creation of udp sockets causing retries.

This commit is contained in:
Nick Peng
2023-07-14 20:44:10 +08:00
parent 2576fdb02f
commit 89e958abfa
2 changed files with 12 additions and 2 deletions

View File

@@ -4131,7 +4131,12 @@ static void _dns_client_period_run(unsigned int msec)
{
/* free timed out query, and notify caller */
list_del_init(&query->period_list);
_dns_client_check_udp_nat(query);
/* check udp nat after retrying. */
if (atomic_read(&query->retry_count) == 1) {
_dns_client_check_udp_nat(query);
}
if (atomic_dec_and_test(&query->retry_count) || (query->has_result != 0)) {
_dns_client_query_remove(query);
if (query->has_result == 0) {