--- rxvt-unicode/src/command.C 2005/12/21 14:19:19 1.212 +++ rxvt-unicode/src/command.C 2005/12/22 16:44:10 1.213 @@ -1069,8 +1069,8 @@ cmdbuf_endp += n; return true; } - else if (n < 0 && errno != EAGAIN) - destroy (); + else if (n < 0 && errno != EAGAIN && errno != EINTR) + pty_ev.stop (); return false; } @@ -4374,8 +4374,7 @@ memmove (v_buffer, v_buffer + written, v_buflen); } else if (written != -1 || (errno != EAGAIN && errno != EINTR)) - // original code just ignores this... - destroy (); + pty_ev.set (EVENT_READ); } /*----------------------- end-of-file (C source) -----------------------*/