From d591b00af06abd197904902baed3a6d2fcb5dbc6 Mon Sep 17 00:00:00 2001 From: Jair Gonzalez Date: Mon, 20 Feb 2017 17:54:25 -0600 Subject: bitbake: event: remove mapping for deleted event handlers The current remove method for class event handlers does not update the event mapping after an event handler is deleted from the main dictionary. This change enhances the remove method by also updating the event mapping accordingly. This was detected after creating the bb.tests.event module. [YOCTO #10368] (Bitbake rev: 839f83dea1e99d1d182b138e5aea1df1c45a92fc) Signed-off-by: Jair Gonzalez Signed-off-by: Richard Purdie --- bitbake/lib/bb/event.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'bitbake/lib/bb/event.py') diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py index eb5cd04597..6ccd4bdc38 100644 --- a/bitbake/lib/bb/event.py +++ b/bitbake/lib/bb/event.py @@ -264,6 +264,11 @@ def register(name, handler, mask=None, filename=None, lineno=None): def remove(name, handler): """Remove an Event handler""" _handlers.pop(name) + if name in _catchall_handlers: + _catchall_handlers.pop(name) + for event in _event_handler_map.keys(): + if name in _event_handler_map[event]: + _event_handler_map[event].pop(name) def get_handlers(): return _handlers @@ -762,4 +767,3 @@ class NetworkTestFailed(Event): """ Event to indicate network test has failed """ - -- cgit v1.2.3-54-g00ecf