summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/Scheduler.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-03-10 22:02:19 -0800
committerZac Medico <zmedico@gentoo.org>2011-03-14 09:24:01 -0700
commitd57e5baf22dccb5160249299e6db039f69a4214d (patch)
tree1ce1ff8ff947f33e3ebd085e4e51396a908b480f /pym/_emerge/Scheduler.py
parentbcb3ead57e5f207652f506a13604f60dbebf047b (diff)
downloadportage-d57e5baf22dccb5160249299e6db039f69a4214d.tar.gz
portage-d57e5baf22dccb5160249299e6db039f69a4214d.tar.bz2
portage-d57e5baf22dccb5160249299e6db039f69a4214d.zip
PollScheduler: tweek termination logic
* PollScheduler and all subclasses now use the _terminated_tasks variable to check whether or not _terminate_tasks() has been called, and behave appropriately in that case. * The _schedule_tasks() method now has documentation about the relationship with _terminate_tasks() and _terminated_tasks.
Diffstat (limited to 'pym/_emerge/Scheduler.py')
-rw-r--r--pym/_emerge/Scheduler.py8
1 files changed, 4 insertions, 4 deletions
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py
index 306c945d7..2f49c3420 100644
--- a/pym/_emerge/Scheduler.py
+++ b/pym/_emerge/Scheduler.py
@@ -1441,7 +1441,7 @@ class Scheduler(PollScheduler):
build_dir=build_dir, build_log=build_log,
pkg=pkg,
returncode=merge.returncode))
- if not self._terminated.is_set():
+ if not self._terminated_tasks:
self._failed_pkg_msg(self._failed_pkgs[-1], "install", "to")
self._status_display.failed = len(self._failed_pkgs)
return
@@ -1476,7 +1476,7 @@ class Scheduler(PollScheduler):
mtimedb.commit()
def _build_exit(self, build):
- if build.returncode == os.EX_OK and self._terminated.is_set():
+ if build.returncode == os.EX_OK and self._terminated_tasks:
# We've been interrupted, so we won't
# add this to the merge queue.
self.curval += 1
@@ -1505,7 +1505,7 @@ class Scheduler(PollScheduler):
build_dir=build_dir, build_log=build_log,
pkg=build.pkg,
returncode=build.returncode))
- if not self._terminated.is_set():
+ if not self._terminated_tasks:
self._failed_pkg_msg(self._failed_pkgs[-1], "emerge", "for")
self._status_display.failed = len(self._failed_pkgs)
self._deallocate_config(build.settings)
@@ -1685,7 +1685,7 @@ class Scheduler(PollScheduler):
self._poll_loop()
def _keep_scheduling(self):
- return bool(not self._terminated.is_set() and self._pkg_queue and \
+ return bool(not self._terminated_tasks and self._pkg_queue and \
not (self._failed_pkgs and not self._build_opts.fetchonly))
def _is_work_scheduled(self):