【发布时间】:2012-04-18 18:56:19
【问题描述】:
情况:
new_pipe = os.open(pipe_path, os.O_RDONLY | os.O_NONBLOCK) # pipe_path points to a FIFO
data = os.read(new_pipe, 1024)
读取偶尔会引发 errno -11:资源暂时不可用。
什么时候出现这个错误?这似乎非常罕见,因为常见情况会返回数据:
- 如果没有写入器打开管道,则返回空 str ('')。
- 如果写入器打开了管道,但 fifo 中没有数据,则为空 str ('') 也返回
- 当然,如果写入器将数据放入 fifo,则会读取该数据。
【问题讨论】:
-
@agf:另一个问题是关于 sendto 错误,这是因为发送缓冲区已满。与这个特定问题的联系充其量是值得怀疑的,因为我们在这里谈论的是阅读 Unix 管道
-
@NiklasB。问题当然不相似,但答案是相似的。投票以重复关闭只是链接到另一个问题的便捷方式。并将其链接到侧边栏的顶部。
标签: python linux named-pipes fifo mkfifo