From e9e174e5781fc3de4dfd60d01228048a06a62b16 Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Wed, 16 Feb 2011 17:50:50 -0500 Subject: cooker: don't choke if we have nothing to parse If all our recipes were cached, there's no reason to fire off any parsing progress events at all. Signed-off-by: Chris Larson --- lib/bb/cooker.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index be1d55ae4..70d1ae3ee 100644 --- a/lib/bb/cooker.py +++ b/lib/bb/cooker.py @@ -948,15 +948,21 @@ class CookerParser(object): def init(cfg): parse_file.cfg = cfg - bb.event.fire(bb.event.ParseStarted(self.toparse), self.cfgdata) + self.results = self.load_cached() - self.pool = multiprocessing.Pool(self.num_processes, init, [self.cfgdata]) - parsed = self.pool.imap(parse_file, self.willparse) - self.pool.close() + if self.toparse: + bb.event.fire(bb.event.ParseStarted(self.toparse), self.cfgdata) - self.results = itertools.chain(self.load_cached(), parsed) + self.pool = multiprocessing.Pool(self.num_processes, init, [self.cfgdata]) + parsed = self.pool.imap(parse_file, self.willparse) + self.pool.close() + + self.results = itertools.chain(self.results, parsed) def shutdown(self, clean=True): + if not self.toparse: + return + if clean: event = bb.event.ParseCompleted(self.cached, self.parsed, self.skipped, self.masked, -- cgit 1.2.3-korg