mirror of
https://git.yoctoproject.org/poky
synced 2026-09-14 12:49:34 +02:00
event: register event handler functions, not code objects
(Bitbake rev: be647dac9d458ee4b289ff5f66ed95b311d398d8) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
2d73cd1d32
commit
8cf28d706b
@@ -62,18 +62,13 @@ def fire_class_handlers(event, d):
|
|||||||
if isinstance(event, logging.LogRecord):
|
if isinstance(event, logging.LogRecord):
|
||||||
return
|
return
|
||||||
|
|
||||||
for handler in _handlers:
|
for handler in _handlers.itervalues():
|
||||||
h = _handlers[handler]
|
|
||||||
event.data = d
|
event.data = d
|
||||||
if type(h).__name__ == "code":
|
ret = handler(event)
|
||||||
locals = {"e": event}
|
if ret is not None:
|
||||||
bb.utils.simple_exec(h, locals)
|
warnings.warn("Using Handled/NotHandled in event handlers is deprecated",
|
||||||
ret = bb.utils.better_eval("tmpHandler(e)", locals)
|
DeprecationWarning, stacklevel = 2)
|
||||||
if ret is not None:
|
|
||||||
warnings.warn("Using Handled/NotHandled in event handlers is deprecated",
|
|
||||||
DeprecationWarning, stacklevel = 2)
|
|
||||||
else:
|
|
||||||
h(event)
|
|
||||||
del event.data
|
del event.data
|
||||||
|
|
||||||
ui_queue = []
|
ui_queue = []
|
||||||
@@ -148,7 +143,10 @@ def register(name, handler):
|
|||||||
if isinstance(handler, basestring):
|
if isinstance(handler, basestring):
|
||||||
tmp = "def tmpHandler(e):\n%s" % handler
|
tmp = "def tmpHandler(e):\n%s" % handler
|
||||||
comp = bb.utils.better_compile(tmp, "tmpHandler(e)", "bb.event._registerCode")
|
comp = bb.utils.better_compile(tmp, "tmpHandler(e)", "bb.event._registerCode")
|
||||||
_handlers[name] = comp
|
env = {}
|
||||||
|
bb.utils.simple_exec(comp, env)
|
||||||
|
func = bb.utils.better_eval("tmpHandler", env)
|
||||||
|
_handlers[name] = func
|
||||||
else:
|
else:
|
||||||
_handlers[name] = handler
|
_handlers[name] = handler
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user