linuxI/O多路复用中关于epoll_wait的疑问
函数原型:int epoll_wait( int epfd, struct epoll_event * events, int maxevents, int timeout );
epfd:epoll专用的文件描述符
events:分配好的 epoll_event 结构体数组
maxevents:maxevents表示本次可以返回的最大事件数目
timeout:超时时间,单位为毫秒
返回值:成功:返回满足监听条件的事件数目,如返回 0 表示已超时
没有搞清楚epoll_wait()到底是在什么情况下返回呢,如果是在一有其监测到的事件准备就绪就返回的话,除了多个事件同时就绪的情况,是不是一般情况下都应该返回1呢?那maxevents参数的作用是什么呢?
除了多个事件同时准备就绪还有其他情况会返回大于1的值吗?