summaryrefslogtreecommitdiffstats
path: root/pym/portage/util/_eventloop
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-02-11 11:34:36 -0800
committerZac Medico <zmedico@gentoo.org>2012-02-11 11:34:36 -0800
commitdcb9fab8463996542d06d29bc383f5933bf0d677 (patch)
tree73521abda66d8491208290fe90bc5a1c602bda96 /pym/portage/util/_eventloop
parenta7071bd82676ffdf3020b2f71effa2512ed803d4 (diff)
downloadportage-dcb9fab8463996542d06d29bc383f5933bf0d677.tar.gz
portage-dcb9fab8463996542d06d29bc383f5933bf0d677.tar.bz2
portage-dcb9fab8463996542d06d29bc383f5933bf0d677.zip
EventLoop: shorten iteration poll if timeouts
This fixes EventLoop.iteration() so that it doesn't poll too long when there are timeouts registered, since it's not nice to spend a long time polling for an IO event that might never arrive even though a timeout may have changed some state that would terminate a timeout loop like in QueueScheduler.run() or AbstractPollTask._wait_loop(). This makes EventLoop.iteration() behave more like GlibEventLoop.iteration().
Diffstat (limited to 'pym/portage/util/_eventloop')
-rw-r--r--pym/portage/util/_eventloop/EventLoop.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/pym/portage/util/_eventloop/EventLoop.py b/pym/portage/util/_eventloop/EventLoop.py
index 02c3cec01..a7161dbd5 100644
--- a/pym/portage/util/_eventloop/EventLoop.py
+++ b/pym/portage/util/_eventloop/EventLoop.py
@@ -166,7 +166,7 @@ class EventLoop(object):
if not self._poll_event_queue:
if may_block:
- timeout = None
+ timeout = self._timeout_interval
else:
timeout = 0
self._poll(timeout=timeout)