Maxevents - это всего лишь длина массива struct epoll_events
, на который указывает *events
.
Если ядро имеет больше, чем это количество событий для подачи в вашу программу в это время, оно увидит, что это не так, потому что вы не ожидаете, что многие будут возвращены в этом _wait.
Возможно, вам понадобится экспериментировать с оптимальным размером этого для вашей программы. Оптимальный размер может даже отличаться по архитектуре. Для небольшого числа опрошенных файловых дескрипторов вы можете легко просто установить maxevents
на количество файлов (и соответственно размер массива events
), но вероятность того, что все файлы, требующие внимания в то же время, будут низкими, поэтому вы, вероятно, сможете для использования более низкого значения maxevents
.