X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fscope.c;h=41da3b9378dc2f083fa8d5bf119aadfd783ef826;hb=5b1869eaa22e365ab6595924fe96549b279b5ebc;hp=20a969d913d30c605a61304ef3654ea4dffed9de;hpb=0c5778a26b14093c79bfc9e8b34e2aeeb1d79b87;p=elogind.git diff --git a/src/core/scope.c b/src/core/scope.c index 20a969d91..41da3b937 100644 --- a/src/core/scope.c +++ b/src/core/scope.c @@ -46,7 +46,7 @@ static void scope_init(Unit *u) { assert(u); assert(u->load_state == UNIT_STUB); - s->timeout_stop_usec = DEFAULT_TIMEOUT_USEC; + s->timeout_stop_usec = u->manager->default_timeout_stop_usec; watch_init(&s->timer_watch); @@ -239,6 +239,9 @@ static int scope_start(Unit *u) { assert(s); + if (s->state == SCOPE_FAILED) + return -EPERM; + if (s->state == SCOPE_STOP_SIGTERM || s->state == SCOPE_STOP_SIGKILL) return -EAGAIN; @@ -254,7 +257,7 @@ static int scope_start(Unit *u) { return r; } - r = cg_attach_many_with_mask(u->cgroup_mask, u->cgroup_path, s->pids); + r = cg_attach_many_everywhere(u->manager->cgroup_supported, u->cgroup_path, s->pids); if (r < 0) return r;