Является ли php fopen несовместимым с POSIX, открытым для каналов? - PullRequest
0 голосов
/ 01 ноября 2010

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

1 Ответ

0 голосов
/ 08 ноября 2010

Нет. Php должен сообщить C, что ожидает соединения, а затем заблокировать вход. C должен выполнить цикл, пока открытый вызов возвращает -1 и errno == 6, а затем fdopen дескриптор. Наслаждайтесь.

...