aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon/processing
diff options
context:
space:
mode:
Diffstat (limited to 'src/charon/processing')
-rw-r--r--src/charon/processing/scheduler.c6
-rw-r--r--src/charon/processing/scheduler.h3
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
*/