chiark / gitweb /
Classify processes from sessions into cgroups
[elogind.git] / src / login / logind-user.c
index 539c316ad665cc8f6ec164872cb0c7773498d3ef..0aac3bcf52dc68d2d5890f4900c1d7aaab687661 100644 (file)
@@ -562,10 +562,18 @@ UserState user_get_state(User *u) {
 }
 
 int user_kill(User *u, int signo) {
+        Session *s;
+        int res = 0;
+
         assert(u);
 
-        /* FIXME: No way to kill a user without systemd.  */
-        return -ESRCH;
+        LIST_FOREACH(sessions_by_user, s, u->sessions) {
+                int r = session_kill(s, KILL_ALL, signo);
+                if (res == 0 && r < 0)
+                        res = r;
+        }
+
+        return res;
 }
 
 void user_elect_display(User *u) {