标签: php posix pipe fopen
为什么这会令人困惑。 PHP的fopen不会打开文件进行读取,除非管道中有数据等待读取(根据this注释)。 C的open的POSIX规范声明,根据O_NONBLOCK标志的状态,当打开管道进行写入时,open将阻止调用进程或者如果没有进程打开文件进行读取则返回错误。这种差异是否可以调和?
答案 0 :(得分:0)
没有。 Php应该通知C它正在期望连接,然后阻止输入。 C应该循环,而open调用返回-1并且errno == 6,然后fdopen描述符。享受。