scope: only stop watching processes when we go down
Let's not stop watching processes on every scope state change. This corrects behaviour when a scope is being enqueued and hasn't started yet, but has processes associated to it already. previously, if we'd doa full PID 1 reload we'd stop watching those pids. With this change we'll continue watching them in that case, and only stop watching them when the scope unit really shuts down after first being up.
This commit is contained in:
+1
-1
@@ -119,7 +119,7 @@ static void scope_set_state(Scope *s, ScopeState state) {
|
||||
if (!IN_SET(state, SCOPE_STOP_SIGTERM, SCOPE_STOP_SIGKILL, SCOPE_START_CHOWN, SCOPE_RUNNING))
|
||||
s->timer_event_source = sd_event_source_disable_unref(s->timer_event_source);
|
||||
|
||||
if (IN_SET(state, SCOPE_DEAD, SCOPE_FAILED)) {
|
||||
if (!IN_SET(old_state, SCOPE_DEAD, SCOPE_FAILED) && IN_SET(state, SCOPE_DEAD, SCOPE_FAILED)) {
|
||||
unit_unwatch_all_pids(UNIT(s));
|
||||
unit_dequeue_rewatch_pids(UNIT(s));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user