情况:
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:资源暂时不可用。
何时引发此错误?这似乎非常罕见,因为常见情况会返回数据:
- 如果没有 writer 打开管道,则返回空 str ('')。
- 如果 writer 已打开管道,但 fifo 中没有数据,则还返回空 str ('')
- 当然,如果作者将数据放入先进先出,该数据将被读取。