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/EbuildFetcher.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/EbuildFetcher.py')
-rw-r--r-- | pym/_emerge/EbuildFetcher.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/pym/_emerge/EbuildFetcher.py b/pym/_emerge/EbuildFetcher.py index 3cbe1b899..df790b0d3 100644 --- a/pym/_emerge/EbuildFetcher.py +++ b/pym/_emerge/EbuildFetcher.py @@ -117,13 +117,13 @@ class EbuildFetcher(ForkProcess): msg_lines.append(msg) self._eerror(msg_lines) self._set_returncode((self.pid, 1 << 8)) - self.wait() + self._async_wait() return if not uri_map: # Nothing to fetch. self._set_returncode((self.pid, os.EX_OK << 8)) - self.wait() + self._async_wait() return settings = self.config_pool.allocate() @@ -135,7 +135,7 @@ class EbuildFetcher(ForkProcess): self._prefetch_size_ok(uri_map, settings, ebuild_path): self.config_pool.deallocate(settings) self._set_returncode((self.pid, os.EX_OK << 8)) - self.wait() + self._async_wait() return nocolor = settings.get("NOCOLOR") |