diff options
Diffstat (limited to 'bitbake/lib')
| -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): |
