diff options
Diffstat (limited to 'src/core/job.c')
-rw-r--r-- | src/core/job.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/core/job.c b/src/core/job.c index e6529b61e9..fb6709edf7 100644 --- a/src/core/job.c +++ b/src/core/job.c @@ -860,11 +860,14 @@ static int job_dispatch_timer(sd_event_source *s, uint64_t monotonic, void *user int job_start_timer(Job *j) { int r; - if (j->unit->job_timeout <= 0 || j->timer_event_source) + if (j->timer_event_source) return 0; j->begin_usec = now(CLOCK_MONOTONIC); + if (j->unit->job_timeout <= 0) + return 0; + r = sd_event_add_monotonic(j->manager->event, j->begin_usec + j->unit->job_timeout, 0, job_dispatch_timer, j, &j->timer_event_source); if (r < 0) return r; |