2013-01-23 14:44:07 +01:00
|
|
|
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(-)
|
|
|
|
|
2013-03-20 11:29:34 +01:00
|
|
|
Index: systemd-195/src/login/logind-dbus.c
|
|
|
|
===================================================================
|
|
|
|
--- systemd-195.orig/src/login/logind-dbus.c
|
|
|
|
+++ systemd-195/src/login/logind-dbus.c
|
|
|
|
@@ -971,9 +971,12 @@ static int have_multiple_sessions(
|
2013-01-23 14:44:07 +01:00
|
|
|
|
|
|
|
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;
|