smartdns: some minor fix
This commit is contained in:
@@ -3862,10 +3862,12 @@ static void *_dns_client_work(void *arg)
|
|||||||
sleep_time = 0;
|
sleep_time = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
last = now;
|
|
||||||
|
|
||||||
if (now >= expect_time) {
|
if (now >= expect_time) {
|
||||||
|
if (last != now) {
|
||||||
_dns_client_period_run();
|
_dns_client_period_run();
|
||||||
|
}
|
||||||
|
|
||||||
sleep_time = sleep - (now - expect_time);
|
sleep_time = sleep - (now - expect_time);
|
||||||
if (sleep_time < 0) {
|
if (sleep_time < 0) {
|
||||||
sleep_time = 0;
|
sleep_time = 0;
|
||||||
@@ -3873,6 +3875,7 @@ static void *_dns_client_work(void *arg)
|
|||||||
}
|
}
|
||||||
expect_time += sleep;
|
expect_time += sleep;
|
||||||
}
|
}
|
||||||
|
last = now;
|
||||||
|
|
||||||
pthread_mutex_lock(&client.domain_map_lock);
|
pthread_mutex_lock(&client.domain_map_lock);
|
||||||
if (list_empty(&client.dns_request_list) && atomic_read(&client.run_period) == 0) {
|
if (list_empty(&client.dns_request_list) && atomic_read(&client.run_period) == 0) {
|
||||||
|
|||||||
@@ -5137,7 +5137,7 @@ static void _dns_server_period_run(unsigned int msec)
|
|||||||
struct dns_request *tmp = NULL;
|
struct dns_request *tmp = NULL;
|
||||||
LIST_HEAD(check_list);
|
LIST_HEAD(check_list);
|
||||||
|
|
||||||
if (msec % 10 == 0) {
|
if ((msec % 10) == 0) {
|
||||||
_dns_server_period_run_second();
|
_dns_server_period_run_second();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5227,11 +5227,12 @@ int dns_server_run(void)
|
|||||||
expect_time -= cnt * sleep;
|
expect_time -= cnt * sleep;
|
||||||
sleep_time -= cnt * sleep;
|
sleep_time -= cnt * sleep;
|
||||||
}
|
}
|
||||||
last = now;
|
|
||||||
|
|
||||||
if (now >= expect_time) {
|
if (now >= expect_time) {
|
||||||
msec++;
|
msec++;
|
||||||
|
if (last != now) {
|
||||||
_dns_server_period_run(msec);
|
_dns_server_period_run(msec);
|
||||||
|
}
|
||||||
sleep_time = sleep - (now - expect_time);
|
sleep_time = sleep - (now - expect_time);
|
||||||
if (sleep_time < 0) {
|
if (sleep_time < 0) {
|
||||||
sleep_time = 0;
|
sleep_time = 0;
|
||||||
@@ -5250,6 +5251,7 @@ int dns_server_run(void)
|
|||||||
pthread_mutex_unlock(&server.request_list_lock);
|
pthread_mutex_unlock(&server.request_list_lock);
|
||||||
expect_time += sleep;
|
expect_time += sleep;
|
||||||
}
|
}
|
||||||
|
last = now;
|
||||||
|
|
||||||
num = epoll_wait(server.epoll_fd, events, DNS_MAX_EVENTS, sleep_time);
|
num = epoll_wait(server.epoll_fd, events, DNS_MAX_EVENTS, sleep_time);
|
||||||
if (num < 0) {
|
if (num < 0) {
|
||||||
|
|||||||
@@ -1780,10 +1780,11 @@ static void *_fast_ping_work(void *arg)
|
|||||||
sleep_time = 0;
|
sleep_time = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
last = now;
|
|
||||||
|
|
||||||
if (now >= expect_time) {
|
if (now >= expect_time) {
|
||||||
|
if (last != now) {
|
||||||
_fast_ping_period_run();
|
_fast_ping_period_run();
|
||||||
|
}
|
||||||
sleep_time = sleep - (now - expect_time);
|
sleep_time = sleep - (now - expect_time);
|
||||||
if (sleep_time < 0) {
|
if (sleep_time < 0) {
|
||||||
sleep_time = 0;
|
sleep_time = 0;
|
||||||
@@ -1791,6 +1792,7 @@ static void *_fast_ping_work(void *arg)
|
|||||||
}
|
}
|
||||||
expect_time += sleep;
|
expect_time += sleep;
|
||||||
}
|
}
|
||||||
|
last = now;
|
||||||
|
|
||||||
pthread_mutex_lock(&ping.map_lock);
|
pthread_mutex_lock(&ping.map_lock);
|
||||||
if (hash_empty(ping.addrmap)) {
|
if (hash_empty(ping.addrmap)) {
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#define MAX_LINE_LEN 1024
|
#define MAX_LINE_LEN 8192
|
||||||
#define MAX_KEY_LEN 64
|
#define MAX_KEY_LEN 64
|
||||||
#define CONF_INT_MAX (~(1 << 31))
|
#define CONF_INT_MAX (~(1 << 31))
|
||||||
#define CONF_INT_MIN (1 << 31)
|
#define CONF_INT_MIN (1 << 31)
|
||||||
|
|||||||
@@ -299,7 +299,7 @@ static int load_conf_printf(const char *file, int lineno, int ret)
|
|||||||
static int load_conf_file(const char *file, struct config_item *items, conf_error_handler handler)
|
static int load_conf_file(const char *file, struct config_item *items, conf_error_handler handler)
|
||||||
{
|
{
|
||||||
FILE *fp = NULL;
|
FILE *fp = NULL;
|
||||||
char line[MAX_LINE_LEN];
|
char line[MAX_LINE_LEN + MAX_KEY_LEN];
|
||||||
char key[MAX_KEY_LEN];
|
char key[MAX_KEY_LEN];
|
||||||
char value[MAX_LINE_LEN];
|
char value[MAX_LINE_LEN];
|
||||||
int filed_num = 0;
|
int filed_num = 0;
|
||||||
@@ -309,6 +309,8 @@ static int load_conf_file(const char *file, struct config_item *items, conf_erro
|
|||||||
int ret = 0;
|
int ret = 0;
|
||||||
int call_ret = 0;
|
int call_ret = 0;
|
||||||
int line_no = 0;
|
int line_no = 0;
|
||||||
|
int line_len = 0;
|
||||||
|
int read_len = 0;
|
||||||
|
|
||||||
if (handler == NULL) {
|
if (handler == NULL) {
|
||||||
handler = load_conf_printf;
|
handler = load_conf_printf;
|
||||||
@@ -320,9 +322,17 @@ static int load_conf_file(const char *file, struct config_item *items, conf_erro
|
|||||||
}
|
}
|
||||||
|
|
||||||
line_no = 0;
|
line_no = 0;
|
||||||
while (fgets(line, MAX_LINE_LEN, fp)) {
|
while (fgets(line + line_len, MAX_LINE_LEN - line_len, fp)) {
|
||||||
line_no++;
|
line_no++;
|
||||||
filed_num = sscanf(line, "%63s %1023[^\r\n]s", key, value);
|
read_len = strnlen(line + line_len, sizeof(line));
|
||||||
|
if (read_len >= 2 && *(line + line_len + read_len - 2) == '\\') {
|
||||||
|
line_len += read_len - 2;
|
||||||
|
line[line_len] = '\0';
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
line_len = 0;
|
||||||
|
|
||||||
|
filed_num = sscanf(line, "%63s %8192[^\r\n]s", key, value);
|
||||||
if (filed_num <= 0) {
|
if (filed_num <= 0) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,7 +45,6 @@
|
|||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <ucontext.h>
|
#include <ucontext.h>
|
||||||
|
|
||||||
#define MAX_LINE_LEN 1024
|
|
||||||
#define MAX_KEY_LEN 64
|
#define MAX_KEY_LEN 64
|
||||||
#define SMARTDNS_PID_FILE "/var/run/smartdns.pid"
|
#define SMARTDNS_PID_FILE "/var/run/smartdns.pid"
|
||||||
#define TMP_BUFF_LEN_32 32
|
#define TMP_BUFF_LEN_32 32
|
||||||
|
|||||||
Reference in New Issue
Block a user