Почему это так чертовски запутанно.Fopen PHP не откроет файл для чтения, если в канале нет данных, ожидающих чтения (в соответствии с этим комментарием).Спецификация POSIX для open на языке C гласит, что в зависимости от состояния флага O_NONBLOCK при открытии канала для записи open либо блокирует вызывающий процесс, либо возвращает ошибку, если ни у одного процесса нет файла, открытого для чтения.Эта разница совместима?