chiark / gitweb /
Classify processes from sessions into cgroups
[elogind.git] / src / login / logind-user.c
index 84f549479f92236af18584a5977c71228b7fdc66..2ea2067b2cecbaaf0359c442e82f026f62af40f9 100644 (file)
@@ -579,10 +579,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;
 }
 
 static bool elect_display_filter(Session *s) {