标签: fifo
我有两个过程。一个是生产者,它将数据写入以O_RDWR模式打开的FIFO文件。另一个过程是消费者。它使用文件指针以“读取模式”打开FIFO。
当生产者将数据写入FIFO时,消费者正在使用getline从FIFO读取数据。当生产者停止写数据时,getline返回-1并带有“ferror”。生产者没有向FIFO写入任何数据2-3小时后,getline调用阻止了消费者进程。
任何人都可以解释为什么会这样吗?