38 |
#include <sys/time.h> |
#include <sys/time.h> |
39 |
#include <dirent.h> /* opendir, closedir, readdir */ |
#include <dirent.h> /* opendir, closedir, readdir */ |
40 |
#include <time.h> |
#include <time.h> |
41 |
|
#include <errno.h> |
42 |
#include "rdesktop.h" |
#include "rdesktop.h" |
43 |
|
|
44 |
#define IRP_MJ_CREATE 0x00 |
#define IRP_MJ_CREATE 0x00 |
825 |
reconnecting. FIXME: Real |
reconnecting. FIXME: Real |
826 |
support for reconnects. */ |
support for reconnects. */ |
827 |
|
|
828 |
if (read(iorq->fd, &c, 0) != 0) |
if ((read(iorq->fd, &c, 0) != 0) && (errno == EBADF)) |
829 |
break; |
break; |
830 |
|
|
831 |
FD_SET(iorq->fd, rfds); |
FD_SET(iorq->fd, rfds); |
848 |
|
|
849 |
case IRP_MJ_WRITE: |
case IRP_MJ_WRITE: |
850 |
/* FD still valid? See above. */ |
/* FD still valid? See above. */ |
851 |
if (write(iorq->fd, &c, 0) != 0) |
if ((write(iorq->fd, &c, 0) != 0) && (errno == EBADF)) |
852 |
break; |
break; |
853 |
|
|
854 |
FD_SET(iorq->fd, wfds); |
FD_SET(iorq->fd, wfds); |