aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2017-09-04 14:00:31 +1200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-09-05 14:59:15 +0100
commit1ca2eec459424892391f060442ef38cf28d6a54a (patch)
tree393e142e8fbb471d3ca1bb2e62666181dc7a0681
parenta0eaf8c0f228f984bafff09e4e9739f758dc1a9b (diff)
downloadbitbake-1ca2eec459424892391f060442ef38cf28d6a54a.tar.gz
cooker: clear extra config settings and remote datastores on client disconnect
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. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/command.py3
-rw-r--r--lib/bb/cooker.py2
2 files changed, 5 insertions, 0 deletions
diff --git a/lib/bb/command.py b/lib/bb/command.py
index 0d0354c30..6c966e3db 100644
--- a/lib/bb/command.py
+++ b/lib/bb/command.py
@@ -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)
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 90de40d64..7d040dcd8 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -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