bitbake: command.py: Call updateCache for all states != running
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 26 Aug 2013 12:41:03 +0000 (12:41 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 26 Aug 2013 12:43:47 +0000 (13:43 +0100)
updateCache handles the logic for shutting down the parsing so we need
to call it for all cases when we're not running.

This fixes hangs if Ctrl+C is pressed during parsing.

(Bitbake rev: 552b8935dd2f9f11e8d5c08a597a7e966b891480)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake/lib/bb/command.py
bitbake/lib/bb/cooker.py

index bdf1c36..3527ad0 100644 (file)
@@ -90,8 +90,7 @@ class Command:
                 (command, options) = self.currentAsyncCommand
                 commandmethod = getattr(CommandsAsync, command)
                 needcache = getattr( commandmethod, "needcache" )
-                if (needcache and self.cooker.state in
-                    (bb.cooker.state.initial, bb.cooker.state.parsing)):
+                if needcache and self.cooker.state != bb.cooker.state.running:
                     self.cooker.updateCache()
                     return True
                 else:
index 97210ba..5a84804 100644 (file)
@@ -1168,6 +1168,7 @@ class BBCooker:
         if timestamp:
             return timestr
 
+    # This is called for all async commands when self.state != running
     def updateCache(self):
         if self.state == state.running:
             return