1
0
mirror of https://github.com/systemd/systemd.git synced 2025-03-19 22:50:17 +03:00

logind: use session_get_state() to get sessions state of the user

In function user_get_state() remove the session_is_active() check, just
count on the session_get_state() function to get the correct session
state.

session_is_active() may return true before starting the session scope
and user service, this means it will return true even before the creation
of the session fifo_fd which will produce incorrect states.

So be consistent and just use session_get_state().
This commit is contained in:
Djalal Harouni 2014-02-08 20:51:57 +01:00 committed by Lennart Poettering
parent 70d9b9fc0a
commit 00555a2ee1

View File

@ -648,9 +648,12 @@ UserState user_get_state(User *u) {
bool all_closing = true;
LIST_FOREACH(sessions_by_user, i, u->sessions) {
if (session_is_active(i))
SessionState state;
state = session_get_state(i);
if (state == SESSION_ACTIVE)
return USER_ACTIVE;
if (session_get_state(i) != SESSION_CLOSING)
if (state != SESSION_CLOSING)
all_closing = false;
}