aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbitbake/lib/bb/main.py5
-rw-r--r--bitbake/lib/bb/server/process.py2
-rw-r--r--bitbake/lib/bb/server/xmlrpc.py8
3 files changed, 8 insertions, 7 deletions
diff --git a/bitbake/lib/bb/main.py b/bitbake/lib/bb/main.py
index bf59793db5..a28c7514df 100755
--- a/bitbake/lib/bb/main.py
+++ b/bitbake/lib/bb/main.py
@@ -282,12 +282,13 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters):
def start_server(servermodule, configParams, configuration, features):
server = servermodule.BitBakeServer()
+ single_use = not configParams.server_only
if configParams.bind:
(host, port) = configParams.bind.split(':')
- server.initServer((host, int(port)))
+ server.initServer((host, int(port)), single_use)
configuration.interface = [ server.serverImpl.host, server.serverImpl.port ]
else:
- server.initServer()
+ server.initServer(single_use=single_use)
configuration.interface = []
try:
diff --git a/bitbake/lib/bb/server/process.py b/bitbake/lib/bb/server/process.py
index e387b30ee3..a3078a873d 100644
--- a/bitbake/lib/bb/server/process.py
+++ b/bitbake/lib/bb/server/process.py
@@ -242,7 +242,7 @@ class ProcessEventQueue(multiprocessing.queues.Queue):
class BitBakeServer(BitBakeBaseServer):
- def initServer(self):
+ def initServer(self, single_use=True):
# establish communication channels. We use bidirectional pipes for
# ui <--> server command/response pairs
# and a queue for server -> ui event notifications
diff --git a/bitbake/lib/bb/server/xmlrpc.py b/bitbake/lib/bb/server/xmlrpc.py
index 7528138740..ace1cf646b 100644
--- a/bitbake/lib/bb/server/xmlrpc.py
+++ b/bitbake/lib/bb/server/xmlrpc.py
@@ -186,12 +186,12 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer):
# remove this when you're done with debugging
# allow_reuse_address = True
- def __init__(self, interface):
+ def __init__(self, interface, single_use=False):
"""
Constructor
"""
BaseImplServer.__init__(self)
- self.single_use = interface[1] == 0 # anonymous port, not getting reused
+ self.single_use = single_use
# Use auto port configuration
if (interface[1] == -1):
interface = (interface[0], 0)
@@ -332,9 +332,9 @@ class BitBakeXMLRPCServerConnection(BitBakeBaseServerConnection):
pass
class BitBakeServer(BitBakeBaseServer):
- def initServer(self, interface = ("localhost", 0)):
+ def initServer(self, interface = ("localhost", 0), single_use = False):
self.interface = interface
- self.serverImpl = XMLRPCServer(interface)
+ self.serverImpl = XMLRPCServer(interface, single_use)
def detach(self):
daemonize.createDaemon(self.serverImpl.serve_forever, "bitbake-cookerdaemon.log")