aboutsummaryrefslogtreecommitdiff
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-02-09 00:21:24 -0800
committerZac Medico <zmedico@gentoo.org>2012-02-09 00:21:24 -0800
commit31fc2c97563eaa57ebf890d728f45f859c5520bf (patch)
tree9307f9a772af78764cbd65d14491709df46d6649 /pym
parentEventLoop: fix inverted may_block logic (diff)
downloadportage-31fc2c97563eaa57ebf890d728f45f859c5520bf.tar.gz
portage-31fc2c97563eaa57ebf890d728f45f859c5520bf.tar.bz2
portage-31fc2c97563eaa57ebf890d728f45f859c5520bf.zip
QueueScheduler: fix for IpcDaemonTestCase
Use a StopIteration exception to jump out of EventLoop.iterate() before the poll loop.
Diffstat (limited to 'pym')
-rw-r--r--pym/_emerge/QueueScheduler.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/pym/_emerge/QueueScheduler.py b/pym/_emerge/QueueScheduler.py
index 99cfb23a8..e34758a85 100644
--- a/pym/_emerge/QueueScheduler.py
+++ b/pym/_emerge/QueueScheduler.py
@@ -38,7 +38,7 @@ class QueueScheduler(PollScheduler):
if timeout is not None:
def timeout_callback():
timeout_callback.timed_out = True
- return False
+ raise StopIteration()
timeout_callback.timed_out = False
timeout_callback.timeout_id = self.sched_iface.timeout_add(
timeout, timeout_callback)
@@ -53,6 +53,8 @@ class QueueScheduler(PollScheduler):
timeout_callback.timed_out) and self._running_job_count():
self.sched_iface.iteration()
+ except StopIteration:
+ pass
finally:
if timeout_callback is not None:
self.sched_iface.unregister(timeout_callback.timeout_id)