Я новичок в Unix / Linux, просто вопрос по дескриптору файла, мои учебники задают вопрос:
В большинстве систем Unix ввод ctrl-d указывает EOF на стандартном вводе. Какие
произойдет, если вы наберете ctrl-d для программы на рис. 12.6 (просто для программы, которая использует select ()), пока она заблокирована в вызове для выбора?
и ответ:
дескриптор готов к чтению, если запрос на чтение 1 байта из этого дескриптора не заблокируется. Если EOF становится истинным для дескриптора, тогда дескриптор готов к чтению, потому что операция чтения немедленно вернется с нулевым кодом возврата, указывающим EOF. Таким образом, при наборе ctrl-d функция выбора возвращается с дескриптором 0 в готовом наборе.
поэтому мой вопрос:
почему файловый дескриптор не сможет прочитать 1 байт, прежде чем мы нажмем Ctrl-D?