summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/EbuildBuild.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-12-30 17:01:59 -0800
committerZac Medico <zmedico@gentoo.org>2012-12-30 17:04:27 -0800
commita3100be184ba1cac2f672f0a1cadcf01690c6d3f (patch)
tree53fa53cd147e24c7230daa71ddd7821fd6803108 /pym/_emerge/EbuildBuild.py
parent7ebb2f54877edb28621c33e380f8777b1b1dc201 (diff)
downloadportage-a3100be184ba1cac2f672f0a1cadcf01690c6d3f.tar.gz
portage-a3100be184ba1cac2f672f0a1cadcf01690c6d3f.tar.bz2
portage-a3100be184ba1cac2f672f0a1cadcf01690c6d3f.zip
AsynchronousTask: add _async_wait method
For cases where _start returns synchronously, this method is a convenient way to trigger an asynchronous call to self.wait() (in order to notify exit listeners), avoiding excessive event loop recursion (or stack overflow) that synchronous calling of exit listeners can cause.
Diffstat (limited to 'pym/_emerge/EbuildBuild.py')
-rw-r--r--pym/_emerge/EbuildBuild.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/pym/_emerge/EbuildBuild.py b/pym/_emerge/EbuildBuild.py
index cec63d992..599875a32 100644
--- a/pym/_emerge/EbuildBuild.py
+++ b/pym/_emerge/EbuildBuild.py
@@ -35,7 +35,7 @@ class EbuildBuild(CompositeTask):
if rval != os.EX_OK:
self.returncode = rval
self._current_task = None
- self.wait()
+ self._async_wait()
return
root_config = pkg.root_config
@@ -60,7 +60,7 @@ class EbuildBuild(CompositeTask):
if not self._check_manifest():
self.returncode = 1
self._current_task = None
- self.wait()
+ self._async_wait()
return
prefetcher = self.prefetcher