diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-03-10 22:02:19 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-03-14 09:24:01 -0700 |
commit | d57e5baf22dccb5160249299e6db039f69a4214d (patch) | |
tree | 1ce1ff8ff947f33e3ebd085e4e51396a908b480f /pym/_emerge/Scheduler.py | |
parent | bcb3ead57e5f207652f506a13604f60dbebf047b (diff) | |
download | portage-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.py | 8 |
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): |