diff options
-rw-r--r-- | common/gdm-common.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/common/gdm-common.c b/common/gdm-common.c index 9683d557..373d5b85 100644 --- a/common/gdm-common.c +++ b/common/gdm-common.c @@ -408,7 +408,7 @@ gdm_get_login_window_session_id (const char *seat_id, res = sd_session_get_class (sessions[i], &service_class); if (res < 0) { - if (res == -ENOENT) + if (res == -ENXIO) continue; g_debug ("failed to determine class of session %s: %s", sessions[i], strerror (-res)); @@ -425,6 +425,9 @@ gdm_get_login_window_session_id (const char *seat_id, ret = sd_session_get_state (sessions[i], &state); if (ret < 0) { + if (res == -ENXIO) + continue; + g_debug ("failed to determine state of session %s: %s", sessions[i], strerror (-res)); ret = FALSE; goto out; @@ -438,6 +441,9 @@ gdm_get_login_window_session_id (const char *seat_id, res = sd_session_get_service (sessions[i], &service_id); if (res < 0) { + if (res == -ENXIO) + continue; + g_debug ("failed to determine service of session %s: %s", sessions[i], strerror (-res)); ret = FALSE; goto out; |