X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flogin%2Flogind-session.c;h=da7ce42015cac814cbf7e22d86ee545ae97dbce8;hp=97c24d094b66ef2ee97b5c9861c38c2a14848564;hb=a32360f1a5a85c12f00e9dfb7353280067cccb5b;hpb=b92bea5d2a9481de69bb627a7b442a9f58fca43d diff --git a/src/login/logind-session.c b/src/login/logind-session.c index 97c24d094..da7ce4201 100644 --- a/src/login/logind-session.c +++ b/src/login/logind-session.c @@ -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);