summaryrefslogtreecommitdiffstats
path: root/bitbake
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 15:00:49 +0100
commitc69722616840be627981ebc7e77c986c246d9f8d (patch)
treee35aad24aa21fbe287819e17cf29781267bdbb57 /bitbake
parent2b2606003bf4a952cb4b0ab7163e34e836481a01 (diff)
downloadpoky-c69722616840be627981ebc7e77c986c246d9f8d.tar.gz
bitbake: 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. (Bitbake rev: 1ca2eec459424892391f060442ef38cf28d6a54a) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/command.py3
-rw-r--r--bitbake/lib/bb/cooker.py2
2 files changed, 5 insertions, 0 deletions
diff --git a/bitbake/lib/bb/command.py b/bitbake/lib/bb/command.py
index 0d0354c30f..6c966e3dbc 100644
--- a/bitbake/lib/bb/command.py
+++ b/bitbake/lib/bb/command.py
@@ -145,6 +145,9 @@ class Command:
145 self.currentAsyncCommand = None 145 self.currentAsyncCommand = None
146 self.cooker.finishcommand() 146 self.cooker.finishcommand()
147 147
148 def reset(self):
149 self.remotedatastores = bb.remotedata.RemoteDatastores(self.cooker)
150
148def split_mc_pn(pn): 151def split_mc_pn(pn):
149 if pn.startswith("multiconfig:"): 152 if pn.startswith("multiconfig:"):
150 _, mc, pn = pn.split(":", 2) 153 _, mc, pn = pn.split(":", 2)
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 90de40d649..7d040dcd88 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -1616,6 +1616,8 @@ class BBCooker:
1616 def clientComplete(self): 1616 def clientComplete(self):
1617 """Called when the client is done using the server""" 1617 """Called when the client is done using the server"""
1618 self.finishcommand() 1618 self.finishcommand()
1619 self.extraconfigdata = {}
1620 self.command.reset()
1619 self.databuilder.reset() 1621 self.databuilder.reset()
1620 self.data = self.databuilder.data 1622 self.data = self.databuilder.data
1621 1623