aboutsummaryrefslogtreecommitdiff
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-02-11 13:11:10 -0800
committerZac Medico <zmedico@gentoo.org>2012-02-11 13:11:10 -0800
commit517b791999843b1749c1c8d84c5908634524dc5c (patch)
tree0099cbc9f3db19c33bbefe93404cc176f5b60685 /pym
parentPollScheduler: return None from _schedule_tasks (diff)
downloadportage-517b791999843b1749c1c8d84c5908634524dc5c.tar.gz
portage-517b791999843b1749c1c8d84c5908634524dc5c.tar.bz2
portage-517b791999843b1749c1c8d84c5908634524dc5c.zip
EventLoop.iteration: run timeouts if no fds
Diffstat (limited to 'pym')
-rw-r--r--pym/portage/util/_eventloop/EventLoop.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/pym/portage/util/_eventloop/EventLoop.py b/pym/portage/util/_eventloop/EventLoop.py
index a7161dbd5..07d9bec88 100644
--- a/pym/portage/util/_eventloop/EventLoop.py
+++ b/pym/portage/util/_eventloop/EventLoop.py
@@ -162,7 +162,15 @@ class EventLoop(object):
events_handled = 0
if not event_handlers:
- return bool(events_handled)
+ if not self._polling:
+ self._polling = True
+ try:
+ if self._run_timeouts():
+ events_handled += 1
+ finally:
+ self._polling = False
+ if not event_handlers:
+ return bool(events_handled)
if not self._poll_event_queue:
if may_block: