epoll の使用法では、通常は次のようになります。
struct epoll_event ev,events[20];
epfd=epoll_create(256);
。。。
nfds=epoll_wait(epfd,events,40,500);
いくつかの記事では、maxevents
パラメーター in epoll_wait
(つまり40
in epoll_wait(epfd,events,40,500);
) が size パラメーター in epoll_create
(つまり256
) を超えてはならないと言っています。
イベントは 20 個のイベント要素にしか登録できないため、パラメーターはinをmaxevents
超えてはいけないと思います。そうではなく、アクティブなソケットが 40 個ある場合はどうなりますか?20
ev, events[20]
ところで、20 を超えるソケットを登録し、20 を超えるアクティブなイベント (ソケット) がある場合、イベント配列events[20]
には 20 のイベントしかありません。どうなりますか?