mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-01-22 22:03:43 +03:00
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 <withnall@endlessm.com>
This commit is contained in:
parent
5a70a68fd6
commit
7508f7f273
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user