在非阻塞文件描述符上使用select.poll()

时间:2018-05-08 13:54:33

标签: python linux select named-pipes

我有一个以非阻塞模式打开的命名管道:

fd = os.open('mypipe', os.O_RDONLY|os.O_NONBLOCK)

我希望能够知道是否有什么内容可以阅读超时,所以我尝试使用select:

poller = select.poll()
poller.register(fd, select.POLLIN)

但是当我尝试轮询并指定超时时:

poller.poll(3000)

......它总会立即返回,即使没有什么可读的。

我的问题是:是否可以在使用O_NONBLOCK标志打开的文件描述符上使用poll()超时?是否有可能我做错了,还有另一种方法可以达到这个目的吗?

0 个答案:

没有答案