wrapper for epoll