smartdns: support multiline config option and fix timer issue.

This commit is contained in:
Nick Peng
2023-02-02 20:23:53 +08:00
parent 108f514b83
commit 03ba24480b
6 changed files with 28 additions and 12 deletions

View File

@@ -5137,7 +5137,7 @@ static void _dns_server_period_run(unsigned int msec)
struct dns_request *tmp = NULL;
LIST_HEAD(check_list);
if (msec % 10 == 0) {
if ((msec % 10) == 0) {
_dns_server_period_run_second();
}
@@ -5227,11 +5227,12 @@ int dns_server_run(void)
expect_time -= cnt * sleep;
sleep_time -= cnt * sleep;
}
last = now;
if (now >= expect_time) {
msec++;
_dns_server_period_run(msec);
if (last != now) {
_dns_server_period_run(msec);
}
sleep_time = sleep - (now - expect_time);
if (sleep_time < 0) {
sleep_time = 0;
@@ -5250,6 +5251,7 @@ int dns_server_run(void)
pthread_mutex_unlock(&server.request_list_lock);
expect_time += sleep;
}
last = now;
num = epoll_wait(server.epoll_fd, events, DNS_MAX_EVENTS, sleep_time);
if (num < 0) {