Handle all epoll events.
[silc.git] / lib / silcutil / unix / silcunixschedule.c
index ecddd88e28620745f6575e4a02cf27c9463b4ccb..cdbc2b69dcff2c406ad025fac291c586bf55a8dd 100644 (file)
@@ -99,7 +99,7 @@ int silc_epoll(SilcSchedule schedule, void *context)
       epoll_ctl(internal->epfd, EPOLL_CTL_DEL, task->fd, &fds[i]);
       continue;
     }
-    if (fds[i].events & EPOLLIN)
+    if (fds[i].events & (EPOLLIN | EPOLLPRI | EPOLLHUP))
       task->revents |= SILC_TASK_READ;
     if (fds[i].events & EPOLLOUT)
       task->revents |= SILC_TASK_WRITE;