diff options
author | Martin Pitt <martin.pitt@ubuntu.com> | 2015-01-28 18:14:01 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2015-01-28 20:03:38 +0100 |
commit | be94d95499bf9c63fe9331e9b9ecc64f32fe9d79 (patch) | |
tree | 232e19a8e3db2d63b301b40627c906c55d3c3767 /factory | |
parent | 40672b99c7da7efd317fc31612504fe7d5ab0b65 (diff) |
logind: handle closing sessions over daemon restarts
It may happen that you have several sessions with the same VT:
- Open a session c1 which leaves some processes around, and log out. The
session will stay in State=closing and become Active=no.
- Log back in on the same VT, get a new session "c2" which is State=active and
Active=yes.
When restarting logind after that, the first session that matches the current
VT becomes Active=yes, which will be c1; c2 thus is Active=no and does not get
the usual polkit/device ACL privileges.
Restore the "closing" state in session_load(), to avoid treating all restored
sessions as State=active. In seat_active_vt_changed(), prefer active sessions
over closing ones if more than one session matches the current VT.
Finally, fix the confusing comment in session_load() and explain it a bit
better.
https://launchpad.net/bugs/1415104
Diffstat (limited to 'factory')
0 files changed, 0 insertions, 0 deletions