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

2024-05-19 14:00:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我在非阻塞模式下打开了一个命名管道:

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

我想知道是否有超时的内容可以阅读,所以我尝试使用select:

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

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

poller.poll(3000)

……它总是会立即返回,即使没有什么可看的。你知道吗

我的问题是这样的:是否可以对用O\u NONBLOCK标志打开的文件描述符使用poll()超时?有没有可能是我做错了,还有别的方法可以达到这个目的?你知道吗


Tags: register内容管道os模式openselect命名