summaryrefslogtreecommitdiff
path: root/core/systemd/0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch
diff options
context:
space:
mode:
Diffstat (limited to 'core/systemd/0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch')
-rw-r--r--core/systemd/0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch52
1 files changed, 0 insertions, 52 deletions
diff --git a/core/systemd/0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch b/core/systemd/0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch
deleted file mode 100644
index f499ed2c0..000000000
--- a/core/systemd/0002-login-set-pos-slot-to-fallback-on-pos-eviction.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 3e6b205f81e743c7354ccbc69eb45afbdbebe2dc Mon Sep 17 00:00:00 2001
-From: David Herrmann <dh.herrmann@gmail.com>
-Date: Tue, 25 Feb 2014 13:08:24 +0100
-Subject: [PATCH] login: set pos-slot to fallback on pos-eviction
-
-If we evict a session position, we open the position slot for future
-sessions. However, there might already be another session on the same
-position if both were started on the same VT. This is currently done if
-gdm spawns the session on its own Xserver.
-
-Hence, look for such a session on pos-eviction and claim the new slot
-immediately.
----
- src/login/logind-seat.c | 14 +++++++++++++-
- 1 file changed, 13 insertions(+), 1 deletion(-)
-
-diff --git a/src/login/logind-seat.c b/src/login/logind-seat.c
-index 36ec7ed..96cf08e 100644
---- a/src/login/logind-seat.c
-+++ b/src/login/logind-seat.c
-@@ -459,6 +459,7 @@ int seat_stop_sessions(Seat *s, bool force) {
- }
-
- void seat_evict_position(Seat *s, Session *session) {
-+ Session *iter;
- unsigned int pos = session->pos;
-
- session->pos = 0;
-@@ -466,8 +467,19 @@ void seat_evict_position(Seat *s, Session *session) {
- if (!pos)
- return;
-
-- if (pos < s->position_count && s->positions[pos] == session)
-+ if (pos < s->position_count && s->positions[pos] == session) {
- s->positions[pos] = NULL;
-+
-+ /* There might be another session claiming the same
-+ * position (eg., during gdm->session transition), so lets look
-+ * for it and set it on the free slot. */
-+ LIST_FOREACH(sessions_by_seat, iter, s->sessions) {
-+ if (iter->pos == pos) {
-+ s->positions[pos] = iter;
-+ break;
-+ }
-+ }
-+ }
- }
-
- void seat_claim_position(Seat *s, Session *session, unsigned int pos) {
---
-1.9.0
-