diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2016-11-02 21:03:26 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-02 21:03:26 -0400 |
commit | 7fa6328cc447a4a834ebc8d68ae6c335f4c9c9d3 (patch) | |
tree | 1c828a2a3abddf049cf32b01dc042b9ab32f2d34 /src/core/slice.c | |
parent | f57ee147e83a8f7a7e84e6cce79c539cead526c6 (diff) | |
parent | 1201cae704c6674fde2c23fdd7feab8493a20159 (diff) |
Merge pull request #4481 from poettering/perpetual
Add "perpetual" unit concept, sysctl fixes, networkd fixes, systemctl color fixes, nspawn discard.
Diffstat (limited to 'src/core/slice.c')
-rw-r--r-- | src/core/slice.c | 17 |
1 files changed, 4 insertions, 13 deletions
diff --git a/src/core/slice.c b/src/core/slice.c index 0fef29661f..ed5d3fd701 100644 --- a/src/core/slice.c +++ b/src/core/slice.c @@ -136,15 +136,13 @@ static int slice_load_root_slice(Unit *u) { if (!unit_has_name(u, SPECIAL_ROOT_SLICE)) return 0; - u->no_gc = true; + u->perpetual = true; /* The root slice is a bit special. For example it is always running and cannot be terminated. Because of its * special semantics we synthesize it here, instead of relying on the unit file on disk. */ u->default_dependencies = false; u->ignore_on_isolate = true; - u->refuse_manual_start = true; - u->refuse_manual_stop = true; if (!u->description) u->description = strdup("Root Slice"); @@ -301,21 +299,14 @@ static void slice_enumerate(Manager *m) { u = manager_get_unit(m, SPECIAL_ROOT_SLICE); if (!u) { - u = unit_new(m, sizeof(Slice)); - if (!u) { - log_oom(); - return; - } - - r = unit_add_name(u, SPECIAL_ROOT_SLICE); + r = unit_new_for_name(m, sizeof(Slice), SPECIAL_ROOT_SLICE, &u); if (r < 0) { - unit_free(u); - log_error_errno(r, "Failed to add the "SPECIAL_ROOT_SLICE " name: %m"); + log_error_errno(r, "Failed to allocate the special " SPECIAL_ROOT_SLICE " unit: %m"); return; } } - u->no_gc = true; + u->perpetual = true; SLICE(u)->deserialized_state = SLICE_ACTIVE; unit_add_to_load_queue(u); |