update code
This commit is contained in:
12
dns_client.c
12
dns_client.c
@@ -396,6 +396,14 @@ static int _dns_client_process_answer(char *domain, struct dns_packet *packet)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pthread_mutex_lock(&client.server_list_lock);
|
||||||
|
query->dns_request_sent--;
|
||||||
|
if (query->dns_request_sent < 0) {
|
||||||
|
pthread_mutex_unlock(&client.server_list_lock);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
pthread_mutex_unlock(&client.server_list_lock);
|
||||||
|
|
||||||
for (j = 1; j < DNS_RRS_END; j++) {
|
for (j = 1; j < DNS_RRS_END; j++) {
|
||||||
rrs = dns_get_rrs_start(packet, j, &rr_count);
|
rrs = dns_get_rrs_start(packet, j, &rr_count);
|
||||||
for (i = 0; i < rr_count && rrs; i++, rrs = dns_get_rrs_next(packet, rrs)) {
|
for (i = 0; i < rr_count && rrs; i++, rrs = dns_get_rrs_next(packet, rrs)) {
|
||||||
@@ -441,8 +449,7 @@ static int _dns_client_process_answer(char *domain, struct dns_packet *packet)
|
|||||||
}
|
}
|
||||||
|
|
||||||
pthread_mutex_lock(&client.server_list_lock);
|
pthread_mutex_lock(&client.server_list_lock);
|
||||||
query->dns_request_sent--;
|
if (query->dns_request_sent <= 0) {
|
||||||
if (query->dns_request_sent < 0) {
|
|
||||||
_dns_client_query_release(query);
|
_dns_client_query_release(query);
|
||||||
}
|
}
|
||||||
pthread_mutex_unlock(&client.server_list_lock);
|
pthread_mutex_unlock(&client.server_list_lock);
|
||||||
@@ -583,6 +590,7 @@ static int _dns_client_send_packet(struct dns_query_struct *query, void *packet,
|
|||||||
switch (server_info->type) {
|
switch (server_info->type) {
|
||||||
case DNS_SERVER_UDP:
|
case DNS_SERVER_UDP:
|
||||||
ret = _dns_client_send_udp(server_info, packet, len);
|
ret = _dns_client_send_udp(server_info, packet, len);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
ret = -1;
|
ret = -1;
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user