summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-12-13 20:07:05 +1300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-12-14 09:54:48 +0000
commit74db369c46043116359101cab70486afd82372c0 (patch)
tree85aeff0cf793c1ef9996a668d8de08909a7896df
parenta3edc3eefa2d03c4ad5d12187b32fa4dc495082a (diff)
downloadbitbake-contrib-74db369c46043116359101cab70486afd82372c0.tar.gz
command: provide a means to shut down from the client in memres mode
In memory resident mode we don't really want to actually shut down since it's only the client going away. 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.py8
-rw-r--r--lib/bb/cooker.py7
-rw-r--r--lib/bb/cookerdata.py1
3 files changed, 16 insertions, 0 deletions
diff --git a/lib/bb/command.py b/lib/bb/command.py
index caa3e4d45..012b35faf 100644
--- a/lib/bb/command.py
+++ b/lib/bb/command.py
@@ -472,3 +472,11 @@ class CommandsAsync:
command.finishAsyncCommand()
resetCooker.needcache = False
+ def clientComplete(self, command, params):
+ """
+ Do the right thing when the controlling client exits
+ """
+ command.cooker.clientComplete()
+ command.finishAsyncCommand()
+ clientComplete.needcache = False
+
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 5e5708ee2..2614c4485 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -1725,6 +1725,13 @@ class BBCooker:
def reset(self):
self.initConfigurationData()
+ def clientComplete(self):
+ """Called when the client is done using the server"""
+ if self.configuration.server_only:
+ self.finishcommand()
+ else:
+ self.shutdown(True)
+
def lockBitbake(self):
if not hasattr(self, 'lock'):
self.lock = None
diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py
index 320bb5906..c6e958b43 100644
--- a/lib/bb/cookerdata.py
+++ b/lib/bb/cookerdata.py
@@ -146,6 +146,7 @@ class CookerConfiguration(object):
self.tracking = False
self.interface = []
self.writeeventlog = False
+ self.server_only = False
self.env = {}