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.
s->timer_event_source = sd_event_source_unref(s->timer_event_source);
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);
/* We are going down, don't care about FIFOs anymore */
session_remove_fifo(s);
s->timer_event_source = sd_event_source_unref(s->timer_event_source);
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);
/* Kill session devices */
while ((sd = hashmap_first(s->devices)))
session_device_free(sd);