forked from pool/systemd
34 lines
1.2 KiB
Diff
34 lines
1.2 KiB
Diff
|
From 1ca04b87979b2add53ebb8a7fdf13c34fb6c2743 Mon Sep 17 00:00:00 2001
|
||
|
From: Lennart Poettering <lennart@poettering.net>
|
||
|
Date: Mon, 14 Jan 2013 21:40:38 +0100
|
||
|
Subject: [PATCH] logind: ignore non-tty/non-x11 session when checking if
|
||
|
there are other sessions before shutting down
|
||
|
|
||
|
https://bugzilla.redhat.com/show_bug.cgi?id=890827
|
||
|
---
|
||
|
src/login/logind-dbus.c | 7 +++++--
|
||
|
1 file changed, 5 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
|
||
|
index 77a06f2..d64debe 100644
|
||
|
--- a/src/login/logind-dbus.c
|
||
|
+++ b/src/login/logind-dbus.c
|
||
|
@@ -979,9 +979,12 @@ static int have_multiple_sessions(
|
||
|
|
||
|
assert(m);
|
||
|
|
||
|
- /* Check for other users' sessions. Greeter sessions do not count. */
|
||
|
+ /* Check for other users' sessions. Greeter sessions do not
|
||
|
+ * count, and non-login sessions do not count either. */
|
||
|
HASHMAP_FOREACH(session, m->sessions, i)
|
||
|
- if (session->class == SESSION_USER && session->user->uid != uid)
|
||
|
+ if (session->class == SESSION_USER &&
|
||
|
+ (session->type == SESSION_TTY || session->type == SESSION_X11) &&
|
||
|
+ session->user->uid != uid)
|
||
|
return true;
|
||
|
|
||
|
return false;
|
||
|
--
|
||
|
1.7.10.4
|
||
|
|