Я нахожусь в ситуации, когда я хотел бы, чтобы программа C блокировала набор файловых дескрипторов, пока все файлы не будут готовы. Это отличается от традиционных системных вызовов select(), poll() и epoll(), которые блокируются только до тех пор, пока не будет готов какой-либо файловый дескриптор. Есть ли стандартная функция, которая будет блокироваться, пока все файлы не будут готовы? Или, может быть, есть какие-то другие хитрые трюки?
Очевидно, я мог бы вызвать select() в цикле, пока все файловые дескрипторы не будут готовы, но я не хочу нести накладные расходы на переключение контекста, вытеснение, миграцию и т. д. Я бы предпочел, чтобы select() задача просто спать, пока все файлы не будут готовы.