chiark / gitweb /
build-sys: Do not distribute generated udev service files
[elogind.git] / src / login / logind-user.c
index 06fdbb36fc9758fc307b1dc43000db5fc8609181..4af0e90c2232d36d9c790085151d5765166eb09f 100644 (file)
@@ -494,13 +494,19 @@ static int user_remove_runtime_path(User *u) {
         return r;
 }
 
-int user_stop(User *u) {
+int user_stop(User *u, bool force) {
         Session *s;
         int r = 0, k;
         assert(u);
 
+        /* Stop jobs have already been queued */
+        if (u->stopping) {
+                user_save(u);
+                return r;
+        }
+
         LIST_FOREACH(sessions_by_user, s, u->sessions) {
-                k = session_stop(s);
+                k = session_stop(s, force);
                 if (k < 0)
                         r = k;
         }