summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/EbuildMetadataPhase.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/EbuildMetadataPhase.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/EbuildMetadataPhase.py')
-rw-r--r--pym/_emerge/EbuildMetadataPhase.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/pym/_emerge/EbuildMetadataPhase.py b/pym/_emerge/EbuildMetadataPhase.py
index cc8d77593..89734e045 100644
--- a/pym/_emerge/EbuildMetadataPhase.py
+++ b/pym/_emerge/EbuildMetadataPhase.py
@@ -51,14 +51,14 @@ class EbuildMetadataPhase(SubProcess):
# An empty EAPI setting is invalid.
self._eapi_invalid(None)
self._set_returncode((self.pid, 1 << 8))
- self.wait()
+ self._async_wait()
return
self.eapi_supported = portage.eapi_is_supported(parsed_eapi)
if not self.eapi_supported:
self.metadata = {"EAPI": parsed_eapi}
self._set_returncode((self.pid, os.EX_OK << 8))
- self.wait()
+ self._async_wait()
return
settings = self.settings
@@ -114,7 +114,7 @@ class EbuildMetadataPhase(SubProcess):
# doebuild failed before spawning
self._unregister()
self._set_returncode((self.pid, retval << 8))
- self.wait()
+ self._async_wait()
return
self.pid = retval[0]