diff options
-rw-r--r-- | src/forward.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/forward.c b/src/forward.c index 52d5b8e..14d9421 100644 --- a/src/forward.c +++ b/src/forward.c @@ -1241,7 +1241,10 @@ void reply_query(int fd, time_t now) free_rfds(&forward->rfds); /* calculate modified moving average of server latency */ - server->mma_latency += dnsmasq_milliseconds() - forward->forward_timestamp - server->query_latency; + if (server->query_latency == 0) + server->mma_latency = (dnsmasq_milliseconds() - forward->forward_timestamp) * 128; /* init */ + else + server->mma_latency += dnsmasq_milliseconds() - forward->forward_timestamp - server->query_latency; /* denominator controls how many queries we average over. */ server->query_latency = server->mma_latency/128; |