История изменений
Исправление firkax, (текущая версия) :
Тоже хотел это написать. В этом плане fifo работают очень необычно, в сравнении со всеми остальными файловыми дескрипторами.
Если у всех остальных EOF либо есть, либо нет, то у fifo EOF это не состояние потока, а некий сигнал со сложной семантикой «все пишущие клиенты закрылись, но до этого были открыты», после которого опять могут появиться данные и уже следующий EOF.
У обычных файлов EOF тоже может превратиться в не-EOF, когда в файл что-то допишут, но там невозможна ситуация, когда файл без данных будет блокировать чтение (как пустой fifo) - он всегда будет отдавать EOF.
Исправление firkax, :
Тоже хотел это написать. В этом плане fifo работают очень необычно, в сравнении со всеми остальными файловыми дескрипторами.
Если у всех остальных EOF либо есть, либо нет, то у fifo EOF это не состояние потока, а некий сигнал со сложной семантикой «все пишущие клиенты закрылись, но до этого были открыты», после которого опять могут появиться данные и уже следующий EOF.
У обычных файлов EOF тоже может превратиться в не-EOF, когда в файл что-то допишут, но там невоможна ситуация, когда файл без данных будет блокировать чтение (как пустой fifo) - он всегда будет отдавать EOF.
Исправление firkax, :
Тоже хотел это написать. В этом плане fifo работают очень необычно, в сравнении со всеми остальными файловыми дескрипторами.
Если у всех остальных EOF либо есть, либо нет, то у fifo EOF это не состояние потока, а некий сигнал со сложной семантикой «все пишущие клиенты закрылись, но до этого были открыты», после которого опять могут появиться данные и уже следующий EOF.
Исходная версия firkax, :
Тоже хотел это написать. В этом плане fifo работают очень необычно, в сравнении со всеми остальными файловыми дескрипторами.
Если у всех остальных EOF либо есть, либо нет, то у fifo EOF это не состояние потока, а некий сигнал «все пишущие клиенты закрылись», после которого опять могут появиться данные и уже следующий EOF.