summaryrefslogtreecommitdiff
path: root/core/systemd/0001-login-Don-t-stop-a-running-user-manager-from-garbage.patch
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2013-12-27 23:55:53 +0000
committerNicolás Reynolds <fauno@endefensadelsl.org>2013-12-27 23:55:53 +0000
commit65eeff79fff8a1bfdf67ca51d147384f46f4d5c0 (patch)
treefbfdff322b28d9a3c37e6e31c94caf1d8e48dac1 /core/systemd/0001-login-Don-t-stop-a-running-user-manager-from-garbage.patch
parentd53c44f055929b18d7d1b25f8367ee5836c435fc (diff)
Fri Dec 27 23:54:04 UTC 2013
Diffstat (limited to 'core/systemd/0001-login-Don-t-stop-a-running-user-manager-from-garbage.patch')
-rw-r--r--core/systemd/0001-login-Don-t-stop-a-running-user-manager-from-garbage.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/core/systemd/0001-login-Don-t-stop-a-running-user-manager-from-garbage.patch b/core/systemd/0001-login-Don-t-stop-a-running-user-manager-from-garbage.patch
new file mode 100644
index 000000000..9a92209e3
--- /dev/null
+++ b/core/systemd/0001-login-Don-t-stop-a-running-user-manager-from-garbage.patch
@@ -0,0 +1,36 @@
+From 95842c3f552072c9d153b3c0200f1bbb5bc3c2fb Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Thomas=20B=C3=A4chler?= <thomas@archlinux.org>
+Date: Sun, 15 Dec 2013 12:18:00 +0100
+Subject: [PATCH] login: Don't stop a running user manager from
+ garbage-collecting the user.
+
+With the current logic, a user will never be garbage-collected, since its
+manager will always be around. Change the logic such that a user is
+garbage-collected when it has no sessions and linger is disabled.
+
+This is a backport from the master branch to 208 which also backports
+the improved handling of running slice and service jobs.
+---
+ src/login/logind-user.c | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/src/login/logind-user.c b/src/login/logind-user.c
+index adbe638..e2fce5c 100644
+--- a/src/login/logind-user.c
++++ b/src/login/logind-user.c
+@@ -629,12 +629,6 @@ int user_check_gc(User *u, bool drop_not_started) {
+ if (u->slice_job || u->service_job)
+ return 1;
+
+- if (u->slice && manager_unit_is_active(u->manager, u->slice) != 0)
+- return 1;
+-
+- if (u->service && manager_unit_is_active(u->manager, u->service) != 0)
+- return 1;
+-
+ return 0;
+ }
+
+--
+1.8.5.1
+