]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
bitbake: cooker: clear extra config settings and remote datastores on client disconnect
authorPaul Eggleton <paul.eggleton@linux.intel.com>
Mon, 4 Sep 2017 02:00:31 +0000 (14:00 +1200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 5 Sep 2017 14:00:49 +0000 (15:00 +0100)
When the UI disconnects, we can throw away any server-side remote
datastores we created in response to calls from the UI, and we *must*
drop everything in extraconfigdata or it will taint any future
operations.

Dropping extraconfigdata upon disconnect fixes taskhash mismatch errors
when running devtool.DevtoolTests.test_devtool_update_recipe_local_files
within oe-selftest with BB_SERVER_TIMEOUT=100 in OpenEmbedded.

(Bitbake rev: 1ca2eec459424892391f060442ef38cf28d6a54a)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake/lib/bb/command.py
bitbake/lib/bb/cooker.py

index 0d0354c30f7275db318325f2cad7e5e1b572baa7..6c966e3dbc7e9e4dca79dbdce78ba1eef0f0b8f9 100644 (file)
@@ -145,6 +145,9 @@ class Command:
         self.currentAsyncCommand = None
         self.cooker.finishcommand()
 
+    def reset(self):
+        self.remotedatastores = bb.remotedata.RemoteDatastores(self.cooker)
+
 def split_mc_pn(pn):
     if pn.startswith("multiconfig:"):
         _, mc, pn = pn.split(":", 2)
index 90de40d64971c603204d6f5130f28d5e1243d74a..7d040dcd88e5857fcece667a5c3bf0903b8cf3ae 100644 (file)
@@ -1616,6 +1616,8 @@ class BBCooker:
     def clientComplete(self):
         """Called when the client is done using the server"""
         self.finishcommand()
+        self.extraconfigdata = {}
+        self.command.reset()
         self.databuilder.reset()
         self.data = self.databuilder.data