From: David Herrmann Date: Fri, 31 Jul 2015 14:52:29 +0000 (+0200) Subject: logind: release VT-positions when closing sessions X-Git-Tag: v226.4~1^2~167 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=b5132cc290ef609fb7a84adb8130526fb433c291 logind: release VT-positions when closing sessions Make sure we release VT-positions when a session is closed. Otherwise, lingering sessions will occupy VTs and prevent next logins from succeeding. Note that we already release session-devices when closing a session, so there cannot be anyone using the VT anymore. --- diff --git a/src/login/logind-session.c b/src/login/logind-session.c index 8950c7190..30380ae52 100644 --- a/src/login/logind-session.c +++ b/src/login/logind-session.c @@ -630,6 +630,9 @@ int session_stop(Session *s, bool force) { s->timer_event_source = sd_event_source_unref(s->timer_event_source); + if (s->seat) + seat_evict_position(s->seat, s); + /* We are going down, don't care about FIFOs anymore */ session_remove_fifo(s); @@ -666,6 +669,9 @@ int session_finalize(Session *s) { s->timer_event_source = sd_event_source_unref(s->timer_event_source); + if (s->seat) + seat_evict_position(s->seat, s); + /* Kill session devices */ while ((sd = hashmap_first(s->devices))) session_device_free(sd);