diff options
| author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2017-09-04 14:00:31 +1200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-09-05 15:00:49 +0100 |
| commit | c69722616840be627981ebc7e77c986c246d9f8d (patch) | |
| tree | e35aad24aa21fbe287819e17cf29781267bdbb57 /bitbake/lib/bb | |
| parent | 2b2606003bf4a952cb4b0ab7163e34e836481a01 (diff) | |
| download | poky-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/lib/bb')
| -rw-r--r-- | bitbake/lib/bb/command.py | 3 | ||||
| -rw-r--r-- | bitbake/lib/bb/cooker.py | 2 |
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 | |||
| 148 | def split_mc_pn(pn): | 151 | def 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 | ||
