summaryrefslogtreecommitdiff
path: root/src/core/swap.c
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2014-01-27 00:57:34 -0500
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2014-01-27 01:23:16 -0500
commit68db7a3bd9b2f8640c7297382b6d20eb995f7e1e (patch)
tree1f06859edce75e8fa58d42cc20f4a4b3444c5190 /src/core/swap.c
parentd7353ef6095f5e7db63d9cc898c7134b64482550 (diff)
core: add function to tell when job will time out
Things will continue when either the job timeout or the unit timeout is reached. Add functionality to access that info.
Diffstat (limited to 'src/core/swap.c')
-rw-r--r--src/core/swap.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/core/swap.c b/src/core/swap.c
index 6b204df584..26141e6a33 100644
--- a/src/core/swap.c
+++ b/src/core/swap.c
@@ -1367,6 +1367,20 @@ 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) {
+ Swap *s = SWAP(u);
+ int r;
+
+ if (!s->timer_event_source)
+ return 0;
+
+ r = sd_event_source_get_time(s->timer_event_source, timeout);
+ if (r < 0)
+ return r;
+
+ return 1;
+}
+
static const char* const swap_state_table[_SWAP_STATE_MAX] = {
[SWAP_DEAD] = "dead",
[SWAP_ACTIVATING] = "activating",
@@ -1429,6 +1443,8 @@ const UnitVTable swap_vtable = {
.kill = swap_kill,
+ .get_timeout = swap_get_timeout,
+
.serialize = swap_serialize,
.deserialize_item = swap_deserialize_item,