From e8eddabc85ab1a9aaddeb2e02856e23abbaa04b5 Mon Sep 17 00:00:00 2001 From: Nick Peng Date: Mon, 27 Feb 2023 00:09:33 +0800 Subject: [PATCH] dns_client: force close server failure after 60s. --- src/dns_client.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/dns_client.c b/src/dns_client.c index 75d18b8..1389efd 100644 --- a/src/dns_client.c +++ b/src/dns_client.c @@ -3280,6 +3280,9 @@ static int _dns_client_send_packet(struct dns_query_struct *query, void *packet, continue; } server_info->prohibit = 0; + if (now - 60 > server_info->last_send) { + _dns_client_close_socket(server_info); + } } total_server++; tlog(TLOG_DEBUG, "send query to server %s", server_info->ip); @@ -3291,6 +3294,7 @@ static int _dns_client_send_packet(struct dns_query_struct *query, void *packet, } atomic_inc(&query->dns_request_sent); + errno = 0; switch (server_info->type) { case DNS_SERVER_UDP: /* udp query */