bitbake: Add client socket info for BitBakeServerConnection

In server/client split model, the client will bind to a specific address
and port. We need to pass the values to BitBakeServerConnection().

(Bitbake rev: c8e19c5c389efc06696084c6f9439ba75472c5b7)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Dongxiao Xu 2012-02-23 21:47:18 +08:00 committed by Richard Purdie
parent 19089aca83
commit c42f973180
2 changed files with 6 additions and 5 deletions

View File

@ -247,9 +247,9 @@ class BitbakeServerInfo():
self.port = port
class BitBakeServerConnection():
def __init__(self, serverinfo):
def __init__(self, serverinfo, clientinfo=("localhost", 0)):
self.connection = _create_server(serverinfo.host, serverinfo.port)
self.events = uievent.BBUIEventQueue(self.connection)
self.events = uievent.BBUIEventQueue(self.connection, clientinfo)
for event in bb.event.ui_queue:
self.events.queue_event(event)

View File

@ -28,13 +28,14 @@ import socket, threading, pickle
from SimpleXMLRPCServer import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler
class BBUIEventQueue:
def __init__(self, BBServer):
def __init__(self, BBServer, clientinfo=("localhost, 0")):
self.eventQueue = []
self.eventQueueLock = threading.Lock()
self.eventQueueNotify = threading.Event()
self.BBServer = BBServer
self.clientinfo = clientinfo
self.t = threading.Thread()
self.t.setDaemon(True)
@ -72,7 +73,7 @@ class BBUIEventQueue:
def startCallbackHandler(self):
server = UIXMLRPCServer()
server = UIXMLRPCServer(self.clientinfo)
self.host, self.port = server.socket.getsockname()
server.register_function( self.system_quit, "event.quit" )
@ -98,7 +99,7 @@ class BBUIEventQueue:
class UIXMLRPCServer (SimpleXMLRPCServer):
def __init__( self, interface = ("localhost", 0) ):
def __init__( self, interface ):
self.quit = False
SimpleXMLRPCServer.__init__( self,
interface,