如何使用epoll
创建延迟执行的代码或超时事件? libevent和libev都具有这些功能,但我无法弄清楚如何使用epoll来做到这一点。使用epoll主循环延迟执行
目前主循环看起来是这样的:
epoll_ctl(epfd, EPOLL_CTL_ADD, client_sock_fd, &epev);
while(1) {
int nfds = epoll_wait(epfd, &epev, 1, 10);
if (nfds < 0) exit(EXIT_FAILURE);
if (nfds > 0) {
// If an event has been recieved
}
// Do this every 10ms
}
我清楚地知道,这个功能可以通过简单地增加了多少时间已经过去了,但使用epoll的似乎是一个清晰的解决方案来实现。
谢谢,这正是我想要的! – Hobblin