summaryrefslogtreecommitdiff
path: root/src/session.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/session.c')
-rw-r--r--src/session.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/session.c b/src/session.c
index b3053e46..93fffb17 100644
--- a/src/session.c
+++ b/src/session.c
@@ -1815,6 +1815,20 @@ io_from_warning_dialog (GIOChannel *channel,
/* Remove the callback, freeing data */
return FALSE;
}
+ else if (condition & G_IO_IN)
+ {
+ /* Check for EOF */
+
+ char buf[16];
+ int ret;
+
+ ret = read (d->child_pipe, buf, sizeof (buf));
+ if (ret == 0)
+ {
+ finish_interact (d->shutdown);
+ return FALSE;
+ }
+ }
/* Keep callback installed */
return TRUE;