chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
sd-rtnl: always include linux/rtnetlink.h
[elogind.git]
/
src
/
core
/
job.c
diff --git
a/src/core/job.c
b/src/core/job.c
index 1bcf4968e2c5df0d31e59b0f771efd0382cfb2bc..feeb563177e39351d1e05f512cde70403151797c 100644
(file)
--- a/
src/core/job.c
+++ b/
src/core/job.c
@@
-864,11
+864,14
@@
static int job_dispatch_timer(sd_event_source *s, uint64_t monotonic, void *user
int job_start_timer(Job *j) {
int r;
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);
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;
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;
@@
-1048,7
+1051,7
@@
int job_coldplug(Job *j) {
assert(j);
assert(j);
- if (j->begin_usec
<
= 0)
+ if (j->begin_usec
== 0 || j->unit->job_timeout =
= 0)
return 0;
if (j->timer_event_source)
return 0;
if (j->timer_event_source)
@@
-1115,9
+1118,6
@@
int job_get_timeout(Job *j, uint64_t *timeout) {
*timeout = MIN(x, y);
*timeout = MIN(x, y);
- log_info("job_get_timeout %s %d/%"PRIu64" %d/%"PRIu64" -> 1/%"PRIu64,
- j->unit->id, r, x, q, y, *timeout);
-
return 1;
}
return 1;
}