aboutsummaryrefslogtreecommitdiffstats
path: root/src/charon/processing
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2009-08-31 15:13:48 +0200
committerMartin Willi <martin@strongswan.org>2009-08-31 15:13:48 +0200
commit3d5818ec38c464b24f382d88c70b10df6c04b160 (patch)
tree58b41fa9794a8677757d642c10bc33e50bb9c438 /src/charon/processing
parent3f310c0d1f664f5811327c5a89b5d6c2f3e42bdc (diff)
downloadstrongswan-3d5818ec38c464b24f382d88c70b10df6c04b160.tar.bz2
strongswan-3d5818ec38c464b24f382d88c70b10df6c04b160.tar.xz
use monotonic time source in convar->timed_wait, and in the scheduler using it
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
*/