From: David Herrmann Date: Thu, 16 Jul 2015 16:46:12 +0000 (+0200) Subject: logind: never select closing sessions for a VT X-Git-Tag: v226.4~1^2~200 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=f08ce65bef386c42d6a1c0171dac612512772c70 logind: never select closing sessions for a VT If a session is in closing state (and already got rid of its VT), then never re-select it for that VT. There is no reason why we should grant something to a session that is already going away *AND* already got rid of exactly that. --- diff --git a/src/login/logind-seat.c b/src/login/logind-seat.c index 3daaf000e..5c15ff3a8 100644 --- a/src/login/logind-seat.c +++ b/src/login/logind-seat.c @@ -454,7 +454,7 @@ void seat_evict_position(Seat *s, Session *session) { * position (eg., during gdm->session transition), so let's look * for it and set it on the free slot. */ LIST_FOREACH(sessions_by_seat, iter, s->sessions) { - if (iter->position == pos) { + if (iter->position == pos && session_get_state(iter) != SESSION_CLOSING) { s->positions[pos] = iter; break; }