chiark / gitweb /
core: refuse doing %h, %s, %U specifier resolving in PID 1
[elogind.git] / src / core / slice.c
index 557f8290883c1a794511cace3509e4f07ed388ce..1e42df2b8be7a652d9e66f037e7f904d2fb703ed 100644 (file)
@@ -103,7 +103,10 @@ static int slice_add_default_dependencies(Slice *s) {
         assert(s);
 
         /* Make sure slices are unloaded on shutdown */
-        r = unit_add_dependency_by_name(UNIT(s), UNIT_CONFLICTS, SPECIAL_SHUTDOWN_TARGET, NULL, true);
+        r = unit_add_two_dependencies_by_name(
+                        UNIT(s),
+                        UNIT_BEFORE, UNIT_CONFLICTS,
+                        SPECIAL_SHUTDOWN_TARGET, NULL, true);
         if (r < 0)
                 return r;
 
@@ -213,7 +216,7 @@ static int slice_stop(Unit *u) {
         return 0;
 }
 
-static int slice_kill(Unit *u, KillWho who, int signo, DBusError *error) {
+static int slice_kill(Unit *u, KillWho who, int signo, sd_bus_error *error) {
         return unit_kill_common(u, who, signo, -1, -1, error);
 }
 
@@ -272,13 +275,13 @@ DEFINE_STRING_TABLE_LOOKUP(slice_state, SliceState);
 
 const UnitVTable slice_vtable = {
         .object_size = sizeof(Slice),
+        .cgroup_context_offset = offsetof(Slice, cgroup_context),
+
         .sections =
                 "Unit\0"
                 "Slice\0"
                 "Install\0",
-
         .private_section = "Slice",
-        .cgroup_context_offset = offsetof(Slice, cgroup_context),
 
         .no_alias = true,
         .no_instances = true,
@@ -303,7 +306,7 @@ const UnitVTable slice_vtable = {
         .sub_state_to_string = slice_sub_state_to_string,
 
         .bus_interface = "org.freedesktop.systemd1.Slice",
-        .bus_message_handler = bus_slice_message_handler,
+        .bus_vtable = bus_slice_vtable,
         .bus_set_property = bus_slice_set_property,
         .bus_commit_properties = bus_slice_commit_properties,