Maxevents is just the length of the struct epoll_events
array pointed to by *events
.
If the kernel has more than that number of events to feed to your program at that time it will see that it should not because you aren't expecting that many to be returned in that particular _wait.
You will probably need to experiment with the optimal size of this for your program. The optimal size may even differ by architecture. For small numbers of file descriptors being polled you can quite easily just set maxevents
to the number of files (and size the events
array accordingly), but the likelihood of all files needing attention at the same time is low, so you would probably be able to use a lower maxevents
value.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…