diff --git a/ChangeLog b/ChangeLog index 70ab473b8..d527b4678 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-09-24 Havoc Pennington + + * src/session.c (io_from_warning_dialog): fix hang when we get + EOF, #121376 from Laurent Vivier + 2003-09-22 Taneem Ahmed * configure.in: Added "bn" to ALL_LINGUAS. diff --git a/src/session.c b/src/session.c index b3053e467..93fffb17d 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;