Я проходил серийную программу, и я заметил, что они используют select()
перед использованием read()
. Почему именно это требуется. Почему мы не можем просто позвонить read()
и проверить, не сработало или нет? Также почему нам нужно увеличивать файловый дескриптор на 1 и передавать его, пока я передаю уже установленный дескриптор файла select()
?
Пример:
r=select(fd+1, &fds, NULL, NULL, &timeout);
где fds уже имеет значение fd