diff options
-rwxr-xr-x | bitbake/lib/bb/main.py | 5 | ||||
-rw-r--r-- | bitbake/lib/bb/server/process.py | 2 | ||||
-rw-r--r-- | bitbake/lib/bb/server/xmlrpc.py | 8 |
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): | |||
282 | 282 | ||
283 | def start_server(servermodule, configParams, configuration, features): | 283 | def start_server(servermodule, configParams, configuration, features): |
284 | server = servermodule.BitBakeServer() | 284 | server = servermodule.BitBakeServer() |
285 | single_use = not configParams.server_only | ||
285 | if configParams.bind: | 286 | if configParams.bind: |
286 | (host, port) = configParams.bind.split(':') | 287 | (host, port) = configParams.bind.split(':') |
287 | server.initServer((host, int(port))) | 288 | server.initServer((host, int(port)), single_use) |
288 | configuration.interface = [ server.serverImpl.host, server.serverImpl.port ] | 289 | configuration.interface = [ server.serverImpl.host, server.serverImpl.port ] |
289 | else: | 290 | else: |
290 | server.initServer() | 291 | server.initServer(single_use=single_use) |
291 | configuration.interface = [] | 292 | configuration.interface = [] |
292 | 293 | ||
293 | try: | 294 | 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): | |||
242 | 242 | ||
243 | 243 | ||
244 | class BitBakeServer(BitBakeBaseServer): | 244 | class BitBakeServer(BitBakeBaseServer): |
245 | def initServer(self): | 245 | def initServer(self, single_use=True): |
246 | # establish communication channels. We use bidirectional pipes for | 246 | # establish communication channels. We use bidirectional pipes for |
247 | # ui <--> server command/response pairs | 247 | # ui <--> server command/response pairs |
248 | # and a queue for server -> ui event notifications | 248 | # 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): | |||
186 | # remove this when you're done with debugging | 186 | # remove this when you're done with debugging |
187 | # allow_reuse_address = True | 187 | # allow_reuse_address = True |
188 | 188 | ||
189 | def __init__(self, interface): | 189 | def __init__(self, interface, single_use=False): |
190 | """ | 190 | """ |
191 | Constructor | 191 | Constructor |
192 | """ | 192 | """ |
193 | BaseImplServer.__init__(self) | 193 | BaseImplServer.__init__(self) |
194 | self.single_use = interface[1] == 0 # anonymous port, not getting reused | 194 | self.single_use = single_use |
195 | # Use auto port configuration | 195 | # Use auto port configuration |
196 | if (interface[1] == -1): | 196 | if (interface[1] == -1): |
197 | interface = (interface[0], 0) | 197 | interface = (interface[0], 0) |
@@ -332,9 +332,9 @@ class BitBakeXMLRPCServerConnection(BitBakeBaseServerConnection): | |||
332 | pass | 332 | pass |
333 | 333 | ||
334 | class BitBakeServer(BitBakeBaseServer): | 334 | class BitBakeServer(BitBakeBaseServer): |
335 | def initServer(self, interface = ("localhost", 0)): | 335 | def initServer(self, interface = ("localhost", 0), single_use = False): |
336 | self.interface = interface | 336 | self.interface = interface |
337 | self.serverImpl = XMLRPCServer(interface) | 337 | self.serverImpl = XMLRPCServer(interface, single_use) |
338 | 338 | ||
339 | def detach(self): | 339 | def detach(self): |
340 | daemonize.createDaemon(self.serverImpl.serve_forever, "bitbake-cookerdaemon.log") | 340 | daemonize.createDaemon(self.serverImpl.serve_forever, "bitbake-cookerdaemon.log") |