chiark / gitweb /
Add mounting of a name=elogind cgroup if no init controller is found.
[elogind.git] / src / login / logind.c
index 72889535e330b0176dc7115d4635d981491e2c4c..23f4059931d456f192112f3e3e9a8ef6a457bf61 100644 (file)
@@ -36,6 +36,7 @@
 #include "label.h"
 #include "label.h"
 #include "cgroup.h"
+#include "mount-setup.h"
 #include "virt.h"
 
 static void manager_free(Manager *m);
@@ -95,6 +96,13 @@ static Manager *manager_new(void) {
         if (!m->kill_exclude_users)
                 goto fail;
 
+        /* If elogind should be its own controller, mount its cgroup */
+        if (streq(ELOGIND_CGROUP_CONTROLLER, "name=elogind")) {
+                r = mount_setup(true);
+                if (r < 0)
+                        goto fail;
+        }
+
         /* Make cgroups */
         r = manager_setup_cgroup(m);
         if (r < 0)