--- sourceforge.net/trunk/rdesktop/rdpdr.c 2004/04/19 08:24:54 673 +++ sourceforge.net/trunk/rdesktop/rdpdr.c 2004/04/19 09:21:25 674 @@ -38,6 +38,7 @@ #include #include /* opendir, closedir, readdir */ #include +#include #include "rdesktop.h" #define IRP_MJ_CREATE 0x00 @@ -824,7 +825,7 @@ reconnecting. FIXME: Real support for reconnects. */ - if (read(iorq->fd, &c, 0) != 0) + if ((read(iorq->fd, &c, 0) != 0) && (errno == EBADF)) break; FD_SET(iorq->fd, rfds); @@ -847,7 +848,7 @@ case IRP_MJ_WRITE: /* FD still valid? See above. */ - if (write(iorq->fd, &c, 0) != 0) + if ((write(iorq->fd, &c, 0) != 0) && (errno == EBADF)) break; FD_SET(iorq->fd, wfds);