[bitbake-devel] [PATCH 1/2] cooker: clear extra config settings and remote datastores on client disconnect

Paul Eggleton paul.eggleton at linux.intel.com
Mon Sep 4 09:03:11 UTC 2017


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 at linux.intel.com>
---
 lib/bb/command.py | 3 +++
 lib/bb/cooker.py  | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/lib/bb/command.py b/lib/bb/command.py
index 0d0354c..67cc5ce 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(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 f5ae831..10cb8be 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
 
-- 
2.9.5




More information about the bitbake-devel mailing list