В каком порядке возвращаются дескрипторы файлов в epoll? - PullRequest
6 голосов
/ 19 марта 2012

Допустим, я установил набор файловых дескрипторов, скажем, 8, 9, 10, 11, 12 в указанном порядке и выполнил epoll_wait () для данных, которые будут на них считываться.с данными для чтения на сокетах 8,10 и 11. Будет ли порядок файловых дескрипторов, возвращаемых в массиве epoll, 8, 10 и 11 или они могут быть перемешаны?

Ответы [ 2 ]

3 голосов
/ 19 марта 2012

В справочной странице ничего не говорится конкретно о заказе, поэтому, вероятно, не стоит полагаться на заказ при его вызове.Даже если они были возвращены по порядку в одной реализации, они могут не быть в другой.Было бы лучше предположить, что они могут быть возвращены в любом порядке.

0 голосов
/ 19 марта 2012

Просто подумайте об этом логически. Предположительно, они не все помечены как читаемые как отдельная атомарная операция, и тогда epoll_wait может просто возвращать 1 fd, доступный при каждом вызове. Нет смысла зависеть от порядка вывода.

...