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.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py
index 8b05f93e2f..37cc630c63 100644
--- a/bitbake/lib/bb/event.py
+++ b/bitbake/lib/bb/event.py
@@ -69,6 +69,7 @@ _eventfilter = None
69_uiready = False 69_uiready = False
70_thread_lock = threading.Lock() 70_thread_lock = threading.Lock()
71_heartbeat_enabled = False 71_heartbeat_enabled = False
72_should_exit = threading.Event()
72 73
73def enable_threadlock(): 74def enable_threadlock():
74 # Always needed now 75 # Always needed now
@@ -86,6 +87,16 @@ def disable_heartbeat():
86 global _heartbeat_enabled 87 global _heartbeat_enabled
87 _heartbeat_enabled = False 88 _heartbeat_enabled = False
88 89
90#
91# In long running code, this function should be called periodically
92# to check if we should exit due to an interuption (.e.g Ctrl+C from the UI)
93#
94def check_for_interrupts(d):
95 global _should_exit
96 if _should_exit.is_set():
97 bb.warn("Exiting due to interrupt.")
98 raise bb.BBHandledException()
99
89def execute_handler(name, handler, event, d): 100def execute_handler(name, handler, event, d):
90 event.data = d 101 event.data = d
91 try: 102 try: