diff options
Diffstat (limited to 'bitbake/lib/bb/event.py')
-rw-r--r-- | bitbake/lib/bb/event.py | 10 |
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 | |||
216 | def fire(event, d): | 224 | def fire(event, d): |
217 | """Fire off an Event""" | 225 | """Fire off an Event""" |
218 | 226 | ||