diff options
Diffstat (limited to 'bitbake')
-rw-r--r-- | bitbake/lib/bb/event.py | 7 | ||||
-rw-r--r-- | bitbake/lib/bb/parse/ast.py | 4 |
2 files changed, 10 insertions, 1 deletions
diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py index 6fb37128ea..9b4a4f97b5 100644 --- a/bitbake/lib/bb/event.py +++ b/bitbake/lib/bb/event.py | |||
@@ -227,6 +227,13 @@ def remove(name, handler): | |||
227 | """Remove an Event handler""" | 227 | """Remove an Event handler""" |
228 | _handlers.pop(name) | 228 | _handlers.pop(name) |
229 | 229 | ||
230 | def get_handlers(): | ||
231 | return _handlers | ||
232 | |||
233 | def set_handlers(handlers): | ||
234 | global _handlers | ||
235 | _handlers = handlers | ||
236 | |||
230 | def set_eventfilter(func): | 237 | def set_eventfilter(func): |
231 | global _eventfilter | 238 | global _eventfilter |
232 | _eventfilter = func | 239 | _eventfilter = func |
diff --git a/bitbake/lib/bb/parse/ast.py b/bitbake/lib/bb/parse/ast.py index 548929f63d..8b9baa764c 100644 --- a/bitbake/lib/bb/parse/ast.py +++ b/bitbake/lib/bb/parse/ast.py | |||
@@ -306,7 +306,8 @@ def handleInherit(statements, filename, lineno, m): | |||
306 | statements.append(InheritNode(filename, lineno, classes)) | 306 | statements.append(InheritNode(filename, lineno, classes)) |
307 | 307 | ||
308 | def finalize(fn, d, variant = None): | 308 | def finalize(fn, d, variant = None): |
309 | all_handlers = {} | 309 | saved_handlers = bb.event.get_handlers().copy() |
310 | |||
310 | for var in d.getVar('__BBHANDLERS', False) or []: | 311 | for var in d.getVar('__BBHANDLERS', False) or []: |
311 | # try to add the handler | 312 | # try to add the handler |
312 | handlerfn = d.getVarFlag(var, "filename", False) | 313 | handlerfn = d.getVarFlag(var, "filename", False) |
@@ -331,6 +332,7 @@ def finalize(fn, d, variant = None): | |||
331 | d.setVar('BBINCLUDED', bb.parse.get_file_depends(d)) | 332 | d.setVar('BBINCLUDED', bb.parse.get_file_depends(d)) |
332 | 333 | ||
333 | bb.event.fire(bb.event.RecipeParsed(fn), d) | 334 | bb.event.fire(bb.event.RecipeParsed(fn), d) |
335 | bb.event.set_handlers(saved_handlers) | ||
334 | 336 | ||
335 | def _create_variants(datastores, names, function, onlyfinalise): | 337 | def _create_variants(datastores, names, function, onlyfinalise): |
336 | def create_variant(name, orig_d, arg = None): | 338 | def create_variant(name, orig_d, arg = None): |