Patchwork [bitbake-devel] bitbake Parser hangs on single core cpus

login
register
mail settings
Submitter Caleb Crome
Date Feb. 17, 2012, 9:24 p.m.
Message ID <CALy7FZE46mK5CakeRdq-jXgqeZQ8Uio6UWkUPMT5xEc1bDKvZw@mail.gmail.com>
Download mbox | patch
Permalink /patch/21381/
State New
Headers show

Comments

Caleb Crome - Feb. 17, 2012, 9:24 p.m.
Argh, for some reason git send-email just won't work for me.  I it up,
it asks to confirm, I say, 'y', then nothing.  it just hangs.

Anyway, here's the patch as an attachment.  Will that work for you?
Christopher Larson - Feb. 17, 2012, 9:57 p.m.
Applied. In the future, please stick to the conventions for git commit messages, and add a signed-off-by line. I've adjusted them when I applied it for now, you can look at that as an example of what to do. Thanks for the patch, it's much appreciated.

Patch

From 30feca0ab3f5941c88ec28d503940e0c6c212c6a Mon Sep 17 00:00:00 2001
From: Caleb Crome <caleb@signalessence.com>
Date: Fri, 17 Feb 2012 12:21:59 -0800
Subject: [prefix=PATCH] There seems to be a bug in the number of Parser
 threads created.  The number of threads is
 self.num_processes - 1 due to the range(1,
 self.num_processes).

This causes the Parser to hang at 0% on single core machines.

This fixes the Parsers to work on singlecore machines.
---
 lib/bb/cooker.py |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 8188aae..1a9cab7 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -1534,7 +1534,7 @@  class CookerParser(object):
             self.result_queue = multiprocessing.Queue()
             self.feeder = Feeder(self.willparse, self.jobs, self.feeder_quit)
             self.feeder.start()
-            for i in range(1, self.num_processes):
+            for i in range(0, self.num_processes):
                 parser = Parser(self.jobs, self.result_queue, self.parser_quit, init)
                 parser.start()
                 self.processes.append(parser)
-- 
1.7.5.4