diff options
Diffstat (limited to 'poky/bitbake/lib/bb/event.py')
-rw-r--r-- | poky/bitbake/lib/bb/event.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/poky/bitbake/lib/bb/event.py b/poky/bitbake/lib/bb/event.py index 8b05f93e2f..37cc630c63 100644 --- a/poky/bitbake/lib/bb/event.py +++ b/poky/bitbake/lib/bb/event.py @@ -69,6 +69,7 @@ _eventfilter = None _uiready = False _thread_lock = threading.Lock() _heartbeat_enabled = False +_should_exit = threading.Event() def enable_threadlock(): # Always needed now @@ -86,6 +87,16 @@ def disable_heartbeat(): global _heartbeat_enabled _heartbeat_enabled = False +# +# In long running code, this function should be called periodically +# to check if we should exit due to an interuption (.e.g Ctrl+C from the UI) +# +def check_for_interrupts(d): + global _should_exit + if _should_exit.is_set(): + bb.warn("Exiting due to interrupt.") + raise bb.BBHandledException() + def execute_handler(name, handler, event, d): event.data = d try: |