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/service.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/core/service.c') diff --git a/src/core/service.c b/src/core/service.c index a2f0e3577b..d949f7a363 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -3401,6 +3401,20 @@ static void service_notify_message(Unit *u, pid_t pid, char **tags) { unit_add_to_dbus_queue(u); } +static int service_get_timeout(Unit *u, uint64_t *timeout) { + Service *s = SERVICE(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; +} + #ifdef HAVE_SYSV_COMPAT static int service_enumerate(Manager *m) { @@ -3832,6 +3846,8 @@ const UnitVTable service_vtable = { .bus_set_property = bus_service_set_property, .bus_commit_properties = bus_service_commit_properties, + .get_timeout = service_get_timeout, + #ifdef HAVE_SYSV_COMPAT .enumerate = service_enumerate, #endif -- cgit v1.2.3-54-g00ecf