diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-07-07 23:32:11 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-07-07 23:32:11 +0000 |
commit | dc6f1843c745950b91a9bb64f5668de24f4cd08d (patch) | |
tree | f8a0f8f8a4d2e0f1524e9762ef612d59e99361e3 | |
parent | 8ba83b5e9c0c94a1de753e41590db00294613cf3 (diff) | |
download | portage-dc6f1843c745950b91a9bb64f5668de24f4cd08d.tar.gz portage-dc6f1843c745950b91a9bb64f5668de24f4cd08d.tar.bz2 portage-dc6f1843c745950b91a9bb64f5668de24f4cd08d.zip |
Add a Scheduler._digraph attribute for use in parallel build scheduling.
svn path=/main/trunk/; revision=10976
-rw-r--r-- | pym/_emerge/__init__.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 48e5ca6f2..3c94d61f2 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -7610,6 +7610,7 @@ class Scheduler(object): self._pkg_count = self._pkg_count_class( curval=0, maxval=merge_count) self._max_jobs = 1 + self._set_digraph(digraph) self._jobs = 0 features = self.settings.features @@ -7635,6 +7636,13 @@ class Scheduler(object): except EnvironmentError: pass + def _set_digraph(self, digraph): + if self._max_jobs < 2: + # save some memory + self._digraph = None + else: + self._digraph = digraph + class _pkg_failure(portage.exception.PortageException): """ An instance of this class is raised by unmerge() when @@ -8103,6 +8111,8 @@ class Scheduler(object): mylist = mydepgraph.altlist() mydepgraph.break_refs(mylist) mydepgraph.break_refs(dropped_tasks) + mydepgraph.break_refs(mydepgraph.digraph.order) + self._set_digraph(mydepgraph.digraph) return (mylist, dropped_tasks) def _show_list(self): |