summaryrefslogtreecommitdiff
path: root/src/core/swap.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2016-02-04 00:35:43 +0100
committerLennart Poettering <lennart@poettering.net>2016-02-04 00:35:43 +0100
commit7a7821c878a6ddfb2e79268bb1cd8f7662a9b8f8 (patch)
tree491907630dcf974ae630529302e4fe87f658ddc3 /src/core/swap.c
parent8e5de09f442874bed2a8889aa28739d2a516b094 (diff)
core: rework job_get_timeout() to use usec_t and handle USEC_INFINITY time events correctly
Diffstat (limited to 'src/core/swap.c')
-rw-r--r--src/core/swap.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/core/swap.c b/src/core/swap.c
index d895e3ced1..b663a029eb 100644
--- a/src/core/swap.c
+++ b/src/core/swap.c
@@ -1396,17 +1396,21 @@ static int swap_kill(Unit *u, KillWho who, int signo, sd_bus_error *error) {
return unit_kill_common(u, who, signo, -1, SWAP(u)->control_pid, error);
}
-static int swap_get_timeout(Unit *u, uint64_t *timeout) {
+static int swap_get_timeout(Unit *u, usec_t *timeout) {
Swap *s = SWAP(u);
+ usec_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;
}