aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bb/parse/ast.py
diff options
context:
space:
mode:
authorBogdan Marinescu <bogdan.a.marinescu@intel.com>2013-05-31 14:19:14 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-06-14 12:49:44 +0100
commit074003a4e7530a72863b9c685fc5c31b0f08c039 (patch)
tree48fe179fd0ec5e8422b82e6de59c959b15445291 /lib/bb/parse/ast.py
parent6acd444a557bba977ae1772371fdadf5f510e3b6 (diff)
downloadbitbake-074003a4e7530a72863b9c685fc5c31b0f08c039.tar.gz
bitbake: Add event mask flag support
Add a flag to event handlers which lists the events a given handler wishes to process. By default event handlers recieve all events but this means we can stop running code in many cases if we know it doesn't want the event. This is part of the fix for YOCTO #3812, but implements filtering only for class event handlers; the other part (events filter for UIs) will be the subject of a different patch. Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/parse/ast.py')
-rw-r--r--lib/bb/parse/ast.py3
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/bb/parse/ast.py b/lib/bb/parse/ast.py
index 713bef1cc..6e7fd84b1 100644
--- a/lib/bb/parse/ast.py
+++ b/lib/bb/parse/ast.py
@@ -320,8 +320,7 @@ def finalize(fn, d, variant = None):
all_handlers = {}
for var in d.getVar('__BBHANDLERS') or []:
# try to add the handler
- handler = d.getVar(var)
- bb.event.register(var, handler)
+ bb.event.register(var, d.getVar(var), (d.getVarFlag(var, "eventmask", True) or "").split())
bb.event.fire(bb.event.RecipePreFinalise(fn), d)