diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2017-09-04 14:00:31 +1200 |
---|---|---|
committer | Paul Eggleton <paul.eggleton@linux.intel.com> | 2017-09-05 09:40:36 +1200 |
commit | 56d935c48b94ddb12ad251254da235f2281961b8 (patch) | |
tree | 01dc7711b76990f264859ae133be6345426fa969 | |
parent | 7234f33a7eb38ad51a8345f6689bc26e29f29f92 (diff) | |
download | bitbake-contrib-56d935c48b94ddb12ad251254da235f2281961b8.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>
-rw-r--r-- | lib/bb/command.py | 3 | ||||
-rw-r--r-- | lib/bb/cooker.py | 2 |
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 f5ae831c4..10cb8be6c 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 |