From 8055a1fc25b3f6706de748a3e030113590d1569f Mon Sep 17 00:00:00 2001 From: David James Date: Fri, 13 Aug 2010 13:35:56 -0700 Subject: [PATCH] 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 --- parallel_emerge | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/parallel_emerge b/parallel_emerge index 3d5ad74205..77e8f09b50 100755 --- a/parallel_emerge +++ b/parallel_emerge @@ -1294,8 +1294,12 @@ class EmergeQueue(object): # to help schedule jobs. 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, - emerge.opts.get("--jobs", multiprocessing.cpu_count())) + emerge.opts.pop("--jobs", multiprocessing.cpu_count())) self._emerge_queue = multiprocessing.Queue() self._job_queue = multiprocessing.Queue() self._print_queue = multiprocessing.Queue()