синхронное мультиплексирование ввода / вывода (synchronous I/O multiplexing)
Ошибки (Error)
EBADF An invalid file descriptor was given in one of the sets.
(Perhaps a file descriptor that was already closed, or one
on which an error has occurred.) However, see BUGS.
EINTR A signal was caught; see signal(7).
EINVAL nfds is negative or exceeds the RLIMIT_NOFILE resource
limit (see getrlimit(2)).
EINVAL The value contained within timeout is invalid.
ENOMEM Unable to allocate memory for internal tables.