diff options
Diffstat (limited to 'src/libcharon/processing/jobs/inactivity_job.c')
-rw-r--r-- | src/libcharon/processing/jobs/inactivity_job.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libcharon/processing/jobs/inactivity_job.c b/src/libcharon/processing/jobs/inactivity_job.c index 55fc0093a..fb80ae6c9 100644 --- a/src/libcharon/processing/jobs/inactivity_job.c +++ b/src/libcharon/processing/jobs/inactivity_job.c @@ -51,7 +51,7 @@ METHOD(job_t, destroy, void, free(this); } -METHOD(job_t, execute, void, +METHOD(job_t, execute, job_requeue_t, private_inactivity_job_t *this) { ike_sa_t *ike_sa; @@ -121,10 +121,11 @@ METHOD(job_t, execute, void, charon->ike_sa_manager->checkin(charon->ike_sa_manager, ike_sa); } } - if (!rescheduled) + if (rescheduled) { - destroy(this); + return JOB_REQUEUE_SCHEDULED; } + return JOB_REQUEUE_NONE; } METHOD(job_t, get_priority, job_priority_t, |