diff --git a/TODO b/TODO index 5fd9a59a7d..519657fa81 100644 --- a/TODO +++ b/TODO @@ -58,6 +58,8 @@ CGroup Rework Completion: Features: +* ensure scope units may be started only a single time + * document that in instead of FsckPassNo= people should just add a manual dep to systemd-fsck@.service to their mount units. * better error message if you run systemctl without systemd running diff --git a/src/core/scope.c b/src/core/scope.c index 20a969d913..b94f3ff7ba 100644 --- a/src/core/scope.c +++ b/src/core/scope.c @@ -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;