diff options
Diffstat (limited to 'src/charon')
-rw-r--r-- | src/charon/processing/scheduler.c | 6 | ||||
-rw-r--r-- | src/charon/processing/scheduler.h | 3 |
2 files changed, 6 insertions, 3 deletions
diff --git a/src/charon/processing/scheduler.c b/src/charon/processing/scheduler.c index 1f59205af..f53ccb99a 100644 --- a/src/charon/processing/scheduler.c +++ b/src/charon/processing/scheduler.c @@ -190,7 +190,7 @@ static job_requeue_t schedule(private_scheduler_t * this) this->mutex->lock(this->mutex); - gettimeofday(&now, NULL); + time_monotonic(&now); if ((event = peek_event(this)) != NULL) { @@ -290,7 +290,7 @@ static void schedule_job(private_scheduler_t *this, job_t *job, u_int32_t s) { timeval_t tv; - gettimeofday(&tv, NULL); + time_monotonic(&tv); tv.tv_sec += s; schedule_job_tv(this, job, tv); @@ -303,7 +303,7 @@ static void schedule_job_ms(private_scheduler_t *this, job_t *job, u_int32_t ms) { timeval_t tv, add; - gettimeofday(&tv, NULL); + time_monotonic(&tv); add.tv_sec = ms / 1000; add.tv_usec = (ms % 1000) * 1000; diff --git a/src/charon/processing/scheduler.h b/src/charon/processing/scheduler.h index 502f70b33..927b561bb 100644 --- a/src/charon/processing/scheduler.h +++ b/src/charon/processing/scheduler.h @@ -101,6 +101,9 @@ struct scheduler_t { /** * Adds a event to the queue, using an absolut time. * + * The passed timeval should be calculated based on the time_monotonic() + * function. + * * @param job job to schedule * @param time absolut time to schedule job */ |