diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-12-30 17:01:59 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-12-30 17:04:27 -0800 |
commit | a3100be184ba1cac2f672f0a1cadcf01690c6d3f (patch) | |
tree | 53fa53cd147e24c7230daa71ddd7821fd6803108 /pym/_emerge/EbuildMetadataPhase.py | |
parent | 7ebb2f54877edb28621c33e380f8777b1b1dc201 (diff) | |
download | portage-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.py | 6 |
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] |