chiark / gitweb /
core: always create /user and /machine top-level cgroup dirs
[elogind.git] / src / login / logind-session.c
index 97c24d094b66ef2ee97b5c9861c38c2a14848564..da7ce42015cac814cbf7e22d86ee545ae97dbce8 100644 (file)
@@ -442,9 +442,9 @@ static int session_create_one_group(Session *s, const char *controller, const ch
         if (s->leader > 0) {
                 r = cg_create_and_attach(controller, path, s->leader);
                 if (r < 0)
-                        r = cg_create(controller, path);
+                        r = cg_create(controller, path, NULL);
         } else
-                r = cg_create(controller, path);
+                r = cg_create(controller, path, NULL);
 
         if (r < 0)
                 return r;
@@ -710,6 +710,8 @@ int session_stop(Session *s) {
         if (s->started)
                 session_send_signal(s, false);
 
+        s->started = false;
+
         if (s->seat) {
                 if (s->seat->active == s)
                         seat_set_active(s->seat, NULL);
@@ -721,8 +723,6 @@ int session_stop(Session *s) {
         user_send_changed(s->user, "Sessions\0");
         user_save(s->user);
 
-        s->started = false;
-
         return r;
 }
 
@@ -1056,7 +1056,8 @@ DEFINE_STRING_TABLE_LOOKUP(session_type, SessionType);
 static const char* const session_class_table[_SESSION_CLASS_MAX] = {
         [SESSION_USER] = "user",
         [SESSION_GREETER] = "greeter",
-        [SESSION_LOCK_SCREEN] = "lock-screen"
+        [SESSION_LOCK_SCREEN] = "lock-screen",
+        [SESSION_BACKGROUND] = "background"
 };
 
 DEFINE_STRING_TABLE_LOOKUP(session_class, SessionClass);