Patchwork [bitbake-devel] cooker.py: Allow parsing shutdown to be called more than once

login
register
mail settings
Submitter Richard Purdie
Date March 11, 2012, 2:34 p.m.
Message ID <1331476472.15192.0.camel@ted>
Download mbox | patch
Permalink /patch/23017/
State Accepted
Commit 7614c5bdcaf9d70614b4fad2ca02c7e6eaa92f1b
Headers show

Comments

Richard Purdie - March 11, 2012, 2:34 p.m.
The parsing shutdown call can occur more than once. Currently
if this happens the code will hang. Add some code to prevent this.

[YOCTO #2039 partial]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 lib/bb/cooker.py |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

Patch

diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 451f1e9..78d8754 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -1556,6 +1556,7 @@  class CookerParser(object):
         self.progress_chunk = max(self.toparse / 100, 1)
 
         self.start()
+        self.haveshutdown = False
 
     def start(self):
         self.results = self.load_cached()
@@ -1582,6 +1583,9 @@  class CookerParser(object):
     def shutdown(self, clean=True, force=False):
         if not self.toparse:
             return
+        if self.haveshutdown:
+            return
+        self.haveshutdown = True
 
         if clean:
             event = bb.event.ParseCompleted(self.cached, self.parsed,