chiark / gitweb /
logind: parse configuration file
[elogind.git] / src / logind-session.c
index 76718500032502f79265130a007d15c180109cd1..088e956bfcf5366f53743759a2c73d841ded9eef 100644 (file)
@@ -473,6 +473,7 @@ static int session_create_cgroup(Session *s) {
         STRV_FOREACH(k, s->manager->controllers) {
 
                 if (strv_contains(s->reset_controllers, *k) ||
+                    strv_contains(s->manager->reset_controllers, *k) ||
                     strv_contains(s->controllers, *k))
                         continue;
 
@@ -489,6 +490,18 @@ static int session_create_cgroup(Session *s) {
                                 log_warning("Failed to reset controller %s: %s", *k, strerror(-r));
 
                 }
+
+                STRV_FOREACH(k, s->manager->reset_controllers) {
+
+                        if (strv_contains(s->reset_controllers, *k) ||
+                            strv_contains(s->controllers, *k))
+                                continue;
+
+                        r = cg_attach(*k, "/", s->leader);
+                        if (r < 0)
+                                log_warning("Failed to reset controller %s: %s", *k, strerror(-r));
+
+                }
         }
 
         hashmap_put(s->manager->cgroups, s->cgroup_path, s);