Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(97)

Unified Diff: pym/_emerge/MergeListItem.py

Issue 6713043: Merge packages asynchronously in Portage. (Closed)
Patch Set: Don't set _task_queues.merge.max_jobs Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pym/_emerge/EbuildMerge.py ('k') | pym/_emerge/PackageMerge.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pym/_emerge/MergeListItem.py
diff --git a/pym/_emerge/MergeListItem.py b/pym/_emerge/MergeListItem.py
index e7856ccfc1e5f3afbc57663852eacd4eb217dd9b..64f5a86ef306a19f8c2fecb54d3f2e9aa3252e93 100644
--- a/pym/_emerge/MergeListItem.py
+++ b/pym/_emerge/MergeListItem.py
@@ -111,7 +111,7 @@ class MergeListItem(CompositeTask):
self._install_task.wait()
return self.returncode
- def merge(self):
+ def merge(self, exit_handler):
pkg = self.pkg
build_opts = self.build_opts
@@ -135,15 +135,14 @@ class MergeListItem(CompositeTask):
world_atom=world_atom)
uninstall.start()
- retval = uninstall.wait()
- if retval != os.EX_OK:
- return retval
- return os.EX_OK
-
- if build_opts.fetchonly or \
+ self.returncode = uninstall.wait()
+ else:
+ self.returncode = os.EX_OK
+ exit_handler(self)
+ elif build_opts.fetchonly or \
build_opts.buildpkgonly:
- return self.returncode
-
- retval = self._install_task.install()
- return retval
+ exit_handler(self)
+ else:
+ self._current_task = self._install_task
+ self._install_task.install(exit_handler)
« no previous file with comments | « pym/_emerge/EbuildMerge.py ('k') | pym/_emerge/PackageMerge.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698