[bitbake-devel] [master][PATCH 2/3] bb.event: handle __builtins__ as a module

Christopher Larson kergoth at gmail.com
Sat Apr 30 19:43:53 UTC 2016


From: Christopher Larson <chris_larson at mentor.com>

Fixes pypy support.

Signed-off-by: Christopher Larson <chris_larson at mentor.com>
---
 lib/bb/event.py | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/lib/bb/event.py b/lib/bb/event.py
index 5ffe89e..5a03a31 100644
--- a/lib/bb/event.py
+++ b/lib/bb/event.py
@@ -72,11 +72,16 @@ _catchall_handlers = {}
 _eventfilter = None
 _uiready = False
 
+if hasattr(__builtins__, '__setitem__'):
+    builtins = __builtins__
+else:
+    builtins = __builtins__.__dict__
+
 def execute_handler(name, handler, event, d):
     event.data = d
     addedd = False
-    if 'd' not in __builtins__:
-        __builtins__['d'] = d
+    if 'd' not in builtins:
+        builtins['d'] = d
         addedd = True
     try:
         ret = handler(event)
@@ -94,7 +99,7 @@ def execute_handler(name, handler, event, d):
     finally:
         del event.data
         if addedd:
-            del __builtins__['d']
+            del builtins['d']
 
 def fire_class_handlers(event, d):
     if isinstance(event, logging.LogRecord):
-- 
2.8.0




More information about the bitbake-devel mailing list