From 68db7a3bd9b2f8640c7297382b6d20eb995f7e1e Mon Sep 17 00:00:00 2001 From: Zbigniew Jędrzejewski-Szmek Date: Mon, 27 Jan 2014 00:57:34 -0500 Subject: 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. --- src/core/socket.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/core/socket.c') diff --git a/src/core/socket.c b/src/core/socket.c index 1f2a2c0aaf..7eac0eb66d 100644 --- a/src/core/socket.c +++ b/src/core/socket.c @@ -2344,6 +2344,20 @@ static int socket_kill(Unit *u, KillWho who, int signo, sd_bus_error *error) { return unit_kill_common(u, who, signo, -1, SOCKET(u)->control_pid, error); } +static int socket_get_timeout(Unit *u, uint64_t *timeout) { + Socket *s = SOCKET(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 socket_state_table[_SOCKET_STATE_MAX] = { [SOCKET_DEAD] = "dead", [SOCKET_START_PRE] = "start-pre", @@ -2408,6 +2422,8 @@ const UnitVTable socket_vtable = { .kill = socket_kill, + .get_timeout = socket_get_timeout, + .serialize = socket_serialize, .deserialize_item = socket_deserialize_item, .distribute_fds = socket_distribute_fds, -- cgit v1.2.3-54-g00ecf