[bitbake-devel] cooker: Only change self.data if it exists

Submitted by Richard Purdie on March 28, 2014, 11:06 a.m. | Patch ID: 69565


Message ID 1396004778.24890.172.camel@ted
State New
Headers show

Commit Message

Richard Purdie March 28, 2014, 11:06 a.m.
With the change to more optimal default featureset behaviour, a race was
exposed by hob where the code may try and change self.data before it
exists. This change avoids that.

When the datastore is created, the cooker configuration is used so
data tracking is correctly handled regardless.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Patch hide | download patch | download mbox

diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index e81d887..5d3ac60 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -207,11 +207,13 @@  class BBCooker:
     def enableDataTracking(self):
         self.configuration.tracking = True
-        self.data.enableTracking()
+        if hasattr(self, "data"):
+            self.data.enableTracking()
     def disableDataTracking(self):
         self.configuration.tracking = False
-        self.data.disableTracking()
+        if hasattr(self, "data"):
+            self.data.disableTracking()
     def modifyConfigurationVar(self, var, val, default_file, op):
         if op == "append":