summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/event.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-12-20 14:17:49 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-12-31 17:05:17 +0000
commitcb8efd4d20d7643632b04ce8350c1b58aed49122 (patch)
tree6b8bbc5edf3e53fcb148b12a60861d7237356d9d /bitbake/lib/bb/event.py
parent2c5bc0379675c11a84056b2ac5ccaad766c3e766 (diff)
downloadpoky-cb8efd4d20d7643632b04ce8350c1b58aed49122.tar.gz
bitbake: event: Add enable/disable heartbeat code
Currently heartbeat events are always generated by the server whilst it is active. Change this so they only appear when builds are running, which is when most code would expect to be executed. This removes a number of races around changes in the datastore which can happen outside of builds. (Bitbake rev: 8c36c90afc392980d999a981a924dc7d22e2766e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/event.py')
-rw-r--r--bitbake/lib/bb/event.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py
index 303b7a943f..db90724444 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_thread_lock_enabled = False 71_thread_lock_enabled = False
72_heartbeat_enabled = False
72 73
73def enable_threadlock(): 74def enable_threadlock():
74 global _thread_lock_enabled 75 global _thread_lock_enabled
@@ -78,6 +79,14 @@ def disable_threadlock():
78 global _thread_lock_enabled 79 global _thread_lock_enabled
79 _thread_lock_enabled = False 80 _thread_lock_enabled = False
80 81
82def enable_heartbeat():
83 global _heartbeat_enabled
84 _heartbeat_enabled = True
85
86def disable_heartbeat():
87 global _heartbeat_enabled
88 _heartbeat_enabled = False
89
81def execute_handler(name, handler, event, d): 90def execute_handler(name, handler, event, d):
82 event.data = d 91 event.data = d
83 try: 92 try: