summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_router.c
diff options
context:
space:
mode:
authorValentin Bartenev <vbart@nginx.com>2018-10-22 16:04:16 +0300
committerValentin Bartenev <vbart@nginx.com>2018-10-22 16:04:16 +0300
commitda0ef366dc1affa740618eb4f4baa8bbb62f8d70 (patch)
tree8eea7dedbfb8864d7281acb523a5f5dab68aec08 /src/nxt_router.c
parentb20e995e80d236945ec8388dfee37257ce9e5445 (diff)
downloadunit-da0ef366dc1affa740618eb4f4baa8bbb62f8d70.tar.gz
unit-da0ef366dc1affa740618eb4f4baa8bbb62f8d70.tar.bz2
Handling of timers with bias.
Timers that don't require maximum precision (most of them, actually) can be triggered earlier or later within the bias interval. To reduce wakeups by timers, the expire function now triggers not only all timers that fall within the elapsed time, but also those whose bias falls within this interval.
Diffstat (limited to '')
-rw-r--r--src/nxt_router.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/nxt_router.c b/src/nxt_router.c
index 3a5382e4..7ecbca81 100644
--- a/src/nxt_router.c
+++ b/src/nxt_router.c
@@ -1578,7 +1578,7 @@ nxt_router_conf_create(nxt_task_t *task, nxt_router_temp_conf_t *tmcf,
app_joint->use_count = 1;
app_joint->app = app;
- app_joint->idle_timer.precision = NXT_TIMER_DEFAULT_PRECISION;
+ app_joint->idle_timer.bias = NXT_TIMER_DEFAULT_BIAS;
app_joint->idle_timer.work_queue = &engine->fast_work_queue;
app_joint->idle_timer.handler = nxt_router_app_idle_timeout;
app_joint->idle_timer.task = &engine->task;
@@ -4119,7 +4119,7 @@ nxt_router_adjust_idle_timer(nxt_task_t *task, void *obj, void *data)
nxt_assert(app->engine == engine);
- threshold = engine->timers.now + app->joint->idle_timer.precision;
+ threshold = engine->timers.now + app->joint->idle_timer.bias;
timeout = 0;
nxt_thread_mutex_lock(&app->mutex);