From: Philip Withnall Date: Wed, 12 Jun 2019 07:23:24 +0000 (+0100) Subject: scope: Refactor timer handling on coldplug X-Git-Tag: v244-rc1~146^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7508f7f273cb2957dbdf7cd8d5d7fe040c80d8e4;p=thirdparty%2Fsystemd.git scope: Refactor timer handling on coldplug Factor it out into a helper function which is a bit easier to expand in future. This introduces no functional changes. Signed-off-by: Philip Withnall --- diff --git a/src/core/scope.c b/src/core/scope.c index bb1e60dd11f..5303142d09d 100644 --- a/src/core/scope.c +++ b/src/core/scope.c @@ -197,6 +197,20 @@ static int scope_load(Unit *u) { return scope_verify(s); } +static usec_t scope_coldplug_timeout(Scope *s) { + assert(s); + + switch (s->deserialized_state) { + + case SCOPE_STOP_SIGKILL: + case SCOPE_STOP_SIGTERM: + return usec_add(UNIT(s)->state_change_timestamp.monotonic, s->timeout_stop_usec); + + default: + return USEC_INFINITY; + } +} + static int scope_coldplug(Unit *u) { Scope *s = SCOPE(u); int r; @@ -207,11 +221,9 @@ static int scope_coldplug(Unit *u) { if (s->deserialized_state == s->state) return 0; - if (IN_SET(s->deserialized_state, SCOPE_STOP_SIGKILL, SCOPE_STOP_SIGTERM)) { - r = scope_arm_timer(s, usec_add(u->state_change_timestamp.monotonic, s->timeout_stop_usec)); - if (r < 0) - return r; - } + r = scope_arm_timer(s, scope_coldplug_timeout(s)); + if (r < 0) + return r; if (!IN_SET(s->deserialized_state, SCOPE_DEAD, SCOPE_FAILED)) (void) unit_enqueue_rewatch_pids(u);