dns_client: avoid false re-creation of udp sockets causing retries.
This commit is contained in:
@@ -4131,7 +4131,12 @@ static void _dns_client_period_run(unsigned int msec)
|
|||||||
{
|
{
|
||||||
/* free timed out query, and notify caller */
|
/* free timed out query, and notify caller */
|
||||||
list_del_init(&query->period_list);
|
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)) {
|
if (atomic_dec_and_test(&query->retry_count) || (query->has_result != 0)) {
|
||||||
_dns_client_query_remove(query);
|
_dns_client_query_remove(query);
|
||||||
if (query->has_result == 0) {
|
if (query->has_result == 0) {
|
||||||
|
|||||||
@@ -460,8 +460,13 @@ static int _smartdns_init(void)
|
|||||||
const char *logfile = _smartdns_log_path();
|
const char *logfile = _smartdns_log_path();
|
||||||
int i = 0;
|
int i = 0;
|
||||||
char logdir[PATH_MAX] = {0};
|
char logdir[PATH_MAX] = {0};
|
||||||
|
int logbuffersize = 0;
|
||||||
|
|
||||||
ret = tlog_init(logfile, dns_conf_log_size, dns_conf_log_num, 0, 0);
|
if (get_system_mem_size() > 1024 * 1024 * 1024) {
|
||||||
|
logbuffersize = 1024 * 1024;
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = tlog_init(logfile, dns_conf_log_size, dns_conf_log_num, logbuffersize, TLOG_NONBLOCK);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
tlog(TLOG_ERROR, "start tlog failed.\n");
|
tlog(TLOG_ERROR, "start tlog failed.\n");
|
||||||
goto errout;
|
goto errout;
|
||||||
|
|||||||
Reference in New Issue
Block a user