summaryrefslogtreecommitdiff
path: root/common/gdm-common.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/gdm-common.c')
-rw-r--r--common/gdm-common.c8
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;