for (fde = select_ev->ev->fd_events; fde; fde = fde->next) {
uint16_t flags = 0;
- if (FD_ISSET(fde->fd, &r_fds)) {
- int saved_errno = errno;
- int available = 0;
- int ret;
-
- if (fde->flags & TEVENT_FD_READ) {
- flags |= TEVENT_FD_READ;
- }
-
- /* support for POLLHUP */
- ret = ioctl(fde->fd, FIONREAD, &available);
- if ((ret == -1) || (available == 0)) {
- /*
- * We should not report TEVENT_FD_WRITE,
- * after getting EOF.
- */
- fde->flags &= ~TEVENT_FD_WRITE;
- }
- errno = saved_errno;
-
+ if (FD_ISSET(fde->fd, &r_fds) && (fde->flags & TEVENT_FD_READ)) {
+ flags |= TEVENT_FD_READ;
}
if (FD_ISSET(fde->fd, &w_fds) && (fde->flags & TEVENT_FD_WRITE)) {
flags |= TEVENT_FD_WRITE;