diff -cNr ../link/src/metacity/src/session.c metacity/src/session.c
*** ../link/src/metacity/src/session.c	2002-10-16 22:12:24.000000000 +0200
--- metacity/src/session.c	2003-09-03 18:28:13.000000000 +0200
***************
*** 1815,1820 ****
--- 1815,1832 ----
        /* Remove the callback, freeing data */
        return FALSE; 
      }
+   else if (condition & G_IO_IN)
+     {
+       char buffer[128];
+       int ret;
+ 
+       ret = read(d->child_pipe, buffer, 128);
+       if (ret == 0)
+ 	{
+ 	  finish_interact (d->shutdown);
+ 	  return FALSE;
+ 	}
+     }
  
    /* Keep callback installed */
    return TRUE;
