summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-06-08 13:13:55 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-06-08 13:13:55 +0100
commit91611c8b88932c21d8cbb64c9d86472a6dab79b3 (patch)
tree1257cce8d60a810691d78dcd32879c893d03105b /lib
parentc30c1349db85c0cf777fc48915c6ecdfd5a8a7e4 (diff)
downloadbitbake-91611c8b88932c21d8cbb64c9d86472a6dab79b3.tar.gz
xmlrpc/event: Add ability to send pickled events to UI if requested
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib')
-rw-r--r--lib/bb/event.py5
-rw-r--r--lib/bb/ui/uievent.py2
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/bb/event.py b/lib/bb/event.py
index ef64f519f..a3288b619 100644
--- a/lib/bb/event.py
+++ b/lib/bb/event.py
@@ -120,7 +120,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(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/lib/bb/ui/uievent.py b/lib/bb/ui/uievent.py
index 2fef4e465..0e738174e 100644
--- a/lib/bb/ui/uievent.py
+++ b/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)