chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
core: add function to tell when job will time out
[elogind.git]
/
src
/
core
/
scope.c
diff --git
a/src/core/scope.c
b/src/core/scope.c
index 56c374660e6a8ae8f82d1dd6c03228af4003db8c..87983f6b1746aa9537b01bb0689afa5252d49dd8 100644
(file)
--- a/
src/core/scope.c
+++ b/
src/core/scope.c
@@
-318,6
+318,20
@@
static int scope_kill(Unit *u, KillWho who, int signo, sd_bus_error *error) {
return unit_kill_common(u, who, signo, -1, -1, error);
}
return unit_kill_common(u, who, signo, -1, -1, error);
}
+static int scope_get_timeout(Unit *u, uint64_t *timeout) {
+ Scope *s = SCOPE(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 int scope_serialize(Unit *u, FILE *f, FDSet *fds) {
Scope *s = SCOPE(u);
static int scope_serialize(Unit *u, FILE *f, FDSet *fds) {
Scope *s = SCOPE(u);
@@
-478,6
+492,8
@@
const UnitVTable scope_vtable = {
.kill = scope_kill,
.kill = scope_kill,
+ .get_timeout = scope_get_timeout,
+
.serialize = scope_serialize,
.deserialize_item = scope_deserialize_item,
.serialize = scope_serialize,
.deserialize_item = scope_deserialize_item,