Author: Pekka Riikonen <priikone@silcnet.org>
- Copyright (C) 1998 - 2006 Pekka Riikonen
+ Copyright (C) 1998 - 2007 Pekka Riikonen
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
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;
SilcUnixScheduler internal = (SilcUnixScheduler)context;
struct epoll_event event;
+ if (!internal)
+ return FALSE;
+
event.events = 0;
if (task->events & SILC_TASK_READ)
event.events |= (EPOLLIN | EPOLLPRI);
return NULL;
}
#endif
+ silc_schedule_internal_schedule_fd(schedule, internal,
+ (SilcTaskFd)internal->wakeup_task,
+ SILC_TASK_READ);
internal->app_context = app_context;