Provide a synchronization message via the log that ToasterUi is ready to receive events so that scripts that include launching builds don't cause events to be lost. It was observed that a sequence in a script such as bitbake --server-only .. bitbake --observe-only .. bitbake <some target> could generate events from the server to the observer before the observer was ready to read the events, and the early events of builds were consistently dropped. Adding a "ready" note in the log allows the script to scan for that message before proceeding to building a target. A patch is provided that suffices by logging a "ready" message which the invoking script can poll for before proceeding with a build. This bug is blocking integration into the WindRiver build system where toaster could be stress tested. ========================== diff --git a/lib/bb/ui/toasterui.py b/lib/bb/ui/toasterui.py index b1c80cc..5f87a9d 100644 --- a/lib/bb/ui/toasterui.py +++ b/lib/bb/ui/toasterui.py @@ -91,6 +91,7 @@ def main(server, eventHandler, params ): errors = 0 warnings = 0 taskfailures = [] + first = True buildinfohelper = BuildInfoHelper(server, build_history_enabled) @@ -98,6 +99,9 @@ def main(server, eventHandler, params ): while True: try: event = eventHandler.waitEvent(0.25) + if first: + first = False + logger.info("ToasterUI waiting for events") if event is None: if main.shutdown > 0:
Patch submitted.
Verified on master: ccf5a4d2342c4fd40e4e0b332ea7e34e0bf175d4