diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-06-08 11:19:40 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2011-06-08 11:38:15 +0100 |
commit | b34d66225f4df23185870feb83626b1aab38bc11 (patch) | |
tree | fa1b3ed102107df95149e02cb3421d8a1ac28f83 /bitbake/lib | |
parent | cd3c4292e7ccc8934f229fcf010f8615398b87b5 (diff) | |
download | ast2050-yocto-poky-b34d66225f4df23185870feb83626b1aab38bc11.zip ast2050-yocto-poky-b34d66225f4df23185870feb83626b1aab38bc11.tar.gz |
bitbake none/xmlrpc servers: Only send pickled events to the xmlrpc server
Only the xmlrpc server needs pickled events. Use the function names
to signify this requirement.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib')
-rw-r--r-- | bitbake/lib/bb/event.py | 5 | ||||
-rw-r--r-- | bitbake/lib/bb/server/none.py | 3 | ||||
-rw-r--r-- | bitbake/lib/bb/ui/uievent.py | 2 |
3 files changed, 6 insertions, 4 deletions
diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py index cbe49fd..4ff530f 100644 --- a/bitbake/lib/bb/event.py +++ b/bitbake/lib/bb/event.py @@ -119,7 +119,10 @@ def fire_ui_handlers(event, d): # We use pickle here since it better handles object instances # which xmlrpc's marshaller does not. Events *must* be serializable # by pickle. - _ui_handlers[h].event.send((pickle.dumps(event))) + if hasattr(_ui_handlers[h].event, "sendpickle"): + _ui_handlers[h].event.sendpickle((pickle.dumps(event))) + else: + _ui_handlers[h].event.send(event) except: errors.append(h) for h in errors: diff --git a/bitbake/lib/bb/server/none.py b/bitbake/lib/bb/server/none.py index 6083631..3be7b1d 100644 --- a/bitbake/lib/bb/server/none.py +++ b/bitbake/lib/bb/server/none.py @@ -28,7 +28,6 @@ import time import bb -import pickle import signal DEBUG = False @@ -68,7 +67,7 @@ class BBUIEventQueue: self.parent = parent @staticmethod def send(event): - bb.server.none.eventQueue.append(pickle.loads(event)) + bb.server.none.eventQueue.append(event) @staticmethod def quit(): return diff --git a/bitbake/lib/bb/ui/uievent.py b/bitbake/lib/bb/ui/uievent.py index 2fef4e4..0e73817 100644 --- a/bitbake/lib/bb/ui/uievent.py +++ b/bitbake/lib/bb/ui/uievent.py @@ -76,7 +76,7 @@ class BBUIEventQueue: self.host, self.port = server.socket.getsockname() server.register_function( self.system_quit, "event.quit" ) - server.register_function( self.send_event, "event.send" ) + server.register_function( self.send_event, "event.sendpickle" ) server.socket.settimeout(1) self.EventHandle = self.BBServer.registerEventHandler(self.host, self.port) |