Don't pass on --jobs to individual emerge processes in parallel_emerge.

When we pass on --jobs to individual emerge processes, it causes them
to hide their output. This makes it harder to debug why they are
failing or hanging. Example: http://goo.gl/C6Ru

TEST=Made sure that output is shown by emerge processes when --jobs is used.
BUG=chromium-os:5684

Review URL: http://codereview.chromium.org/3168012
This commit is contained in:
David James 2010-08-13 13:35:56 -07:00
parent 5c2290cda4
commit 8055a1fc25

View File

@ -1294,8 +1294,12 @@ class EmergeQueue(object):
# to help schedule jobs. # to help schedule jobs.
emerge.scheduler_graph = emerge.depgraph.schedulerGraph() emerge.scheduler_graph = emerge.depgraph.schedulerGraph()
# Calculate how many jobs we can run in parallel. We don't want to pass
# the --jobs flag over to emerge itself, because that'll tell emerge to
# hide its output, and said output is quite useful for debugging hung
# jobs.
procs = min(self._total_jobs, procs = min(self._total_jobs,
emerge.opts.get("--jobs", multiprocessing.cpu_count())) emerge.opts.pop("--jobs", multiprocessing.cpu_count()))
self._emerge_queue = multiprocessing.Queue() self._emerge_queue = multiprocessing.Queue()
self._job_queue = multiprocessing.Queue() self._job_queue = multiprocessing.Queue()
self._print_queue = multiprocessing.Queue() self._print_queue = multiprocessing.Queue()