summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/greeter.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/greeter.c b/src/greeter.c
index 4534ee2f..124e4c8a 100644
--- a/src/greeter.c
+++ b/src/greeter.c
@@ -858,7 +858,13 @@ read_cb (GIOChannel *source, GIOCondition condition, gpointer data)
if (error)
g_warning ("Error reading from greeter: %s", error->message);
g_clear_error (&error);
- if (status != G_IO_STATUS_NORMAL)
+ if (status == G_IO_STATUS_EOF)
+ {
+ g_debug ("Greeter closed communication channel");
+ greeter->priv->from_greeter_watch = 0;
+ return FALSE;
+ }
+ else if (status != G_IO_STATUS_NORMAL)
return TRUE;
greeter->priv->n_read += n_read;