diff options
author | Lennart Poettering <lennart@poettering.net> | 2016-02-04 00:35:43 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2016-02-04 00:35:43 +0100 |
commit | 7a7821c878a6ddfb2e79268bb1cd8f7662a9b8f8 (patch) | |
tree | 491907630dcf974ae630529302e4fe87f658ddc3 /src/core/service.c | |
parent | 8e5de09f442874bed2a8889aa28739d2a516b094 (diff) |
core: rework job_get_timeout() to use usec_t and handle USEC_INFINITY time events correctly
Diffstat (limited to 'src/core/service.c')
-rw-r--r-- | src/core/service.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/core/service.c b/src/core/service.c index 8bfb9fed4c..02ce1a566a 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -3111,17 +3111,21 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags, FDSet *fds) unit_add_to_dbus_queue(u); } -static int service_get_timeout(Unit *u, uint64_t *timeout) { +static int service_get_timeout(Unit *u, usec_t *timeout) { Service *s = SERVICE(u); + uint64_t t; int r; if (!s->timer_event_source) return 0; - r = sd_event_source_get_time(s->timer_event_source, timeout); + r = sd_event_source_get_time(s->timer_event_source, &t); if (r < 0) return r; + if (t == USEC_INFINITY) + return 0; + *timeout = t; return 1; } |