diff --git a/librb/src/epoll.c b/librb/src/epoll.c index 9af4bc67..7b5785c8 100644 --- a/librb/src/epoll.c +++ b/librb/src/epoll.c @@ -188,6 +188,9 @@ rb_select_epoll(long delay) PF *hdl; rb_fde_t *F = ep_info->pfd[i].data.ptr; old_flags = F->pflags; + + if(!IsFDOpen(F)) + continue; if(ep_info->pfd[i].events & (EPOLLIN | EPOLLHUP | EPOLLERR)) { hdl = F->read_handler;