[bitbake-devel] [PATCH 06/15] command: provide a means to shut down from the client in memres mode

Paul Eggleton paul.eggleton at linux.intel.com
Tue Dec 13 07:07:05 UTC 2016


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

diff --git a/lib/bb/command.py b/lib/bb/command.py
index caa3e4d..012b35f 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 5e5708e..2614c44 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 320bb59..c6e958b 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 = {}
 
-- 
2.5.5




More information about the bitbake-devel mailing list