summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/server
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/server')
-rw-r--r--bitbake/lib/bb/server/xmlrpc.py19
1 files changed, 12 insertions, 7 deletions
diff --git a/bitbake/lib/bb/server/xmlrpc.py b/bitbake/lib/bb/server/xmlrpc.py
index d6f4338ae5..4205a4c35f 100644
--- a/bitbake/lib/bb/server/xmlrpc.py
+++ b/bitbake/lib/bb/server/xmlrpc.py
@@ -281,13 +281,16 @@ class BitBakeXMLRPCServerConnection(BitBakeBaseServerConnection):
281 self.observer_only = observer_only 281 self.observer_only = observer_only
282 self.featureset = featureset 282 self.featureset = featureset
283 283
284 def connect(self): 284 def connect(self, token = None):
285 if not self.observer_only: 285 if token is None:
286 token = self.connection.addClient() 286 if self.observer_only:
287 else: 287 token = "observer"
288 token = "observer" 288 else:
289 token = self.connection.addClient()
290
289 if token is None: 291 if token is None:
290 return None 292 return None
293
291 self.transport.set_connection_token(token) 294 self.transport.set_connection_token(token)
292 295
293 self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo) 296 self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo)
@@ -336,7 +339,9 @@ class BitBakeServer(BitBakeBaseServer):
336 339
337class BitBakeXMLRPCClient(BitBakeBaseServer): 340class BitBakeXMLRPCClient(BitBakeBaseServer):
338 341
339 def __init__(self, observer_only = False): 342 def __init__(self, observer_only = False, token = None):
343 self.token = token
344
340 self.observer_only = observer_only 345 self.observer_only = observer_only
341 # if we need extra caches, just tell the server to load them all 346 # if we need extra caches, just tell the server to load them all
342 pass 347 pass
@@ -366,7 +371,7 @@ class BitBakeXMLRPCClient(BitBakeBaseServer):
366 try: 371 try:
367 self.serverImpl = XMLRPCProxyServer(host, port) 372 self.serverImpl = XMLRPCProxyServer(host, port)
368 self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, (ip, 0), self.observer_only, featureset) 373 self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, (ip, 0), self.observer_only, featureset)
369 return self.connection.connect() 374 return self.connection.connect(self.token)
370 except Exception as e: 375 except Exception as e:
371 bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e))) 376 bb.warn("Could not connect to server at %s:%s (%s)" % (host, port, str(e)))
372 raise e 377 raise e