summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/event.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/event.py')
-rw-r--r--bitbake/lib/bb/event.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py
index 952c85c0bd..a12adbc937 100644
--- a/bitbake/lib/bb/event.py
+++ b/bitbake/lib/bb/event.py
@@ -194,7 +194,12 @@ def fire_ui_handlers(event, d):
194 ui_queue.append(event) 194 ui_queue.append(event)
195 return 195 return
196 196
197 with bb.utils.lock_timeout(_thread_lock): 197 with bb.utils.lock_timeout_nocheck(_thread_lock) as lock:
198 if not lock:
199 # If we can't get the lock, we may be recursively called, queue and return
200 ui_queue.append(event)
201 return
202
198 errors = [] 203 errors = []
199 for h in _ui_handlers: 204 for h in _ui_handlers:
200 #print "Sending event %s" % event 205 #print "Sending event %s" % event
@@ -213,6 +218,9 @@ def fire_ui_handlers(event, d):
213 for h in errors: 218 for h in errors:
214 del _ui_handlers[h] 219 del _ui_handlers[h]
215 220
221 while ui_queue:
222 fire_ui_handlers(ui_queue.pop(), d)
223
216def fire(event, d): 224def fire(event, d):
217 """Fire off an Event""" 225 """Fire off an Event"""
218 226