В
int select(
int nfds,
fd_set *readfds,
fd_set *writefds,
fd_set *exceptfds,
struct timeval *timeout);
syscall, nfds
- это самый большой дескриптор файла, который нас интересует среди всех файловых дескрипторов, которые установлены в битовых картах. Я думаю, что это предназначено для эффективности, так что реализация не должна сканировать все файловые дескрипторы в системе. Если это так, то почему этот системный вызов не позволяет нам передавать аргумент для указания минимального интересующего файлового дескриптора?