epoll api function