EbuildBuild: use fetch queue to cap fetch threads
authorZac Medico <zmedico@gentoo.org>
Sat, 16 Jul 2011 06:16:20 +0000 (23:16 -0700)
committerZac Medico <zmedico@gentoo.org>
Sat, 16 Jul 2011 06:16:20 +0000 (23:16 -0700)
This will fix bug #375331.

pym/_emerge/EbuildBuild.py

index a678ede045af794287db7dc03fe1cde09c9c1dff..b6beb495bc254782d8bd18ac256f44afa43faeb0 100644 (file)
@@ -172,7 +172,11 @@ class EbuildBuild(CompositeTask):
                        logfile=self.settings.get('PORTAGE_LOG_FILE'),
                        pkg=self.pkg, scheduler=self.scheduler)
 
-               self._start_task(fetcher, self._fetch_exit)
+               # Allow the Scheduler's fetch queue to control the
+               # number of concurrent fetchers.
+               fetcher.addExitListener(self._fetch_exit)
+               self._task_queued(fetcher)
+               self.scheduler.fetch.schedule(fetcher)
 
        def _fetch_exit(self, fetcher):