summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Bartosh <ed.bartosh@linux.intel.com>2016-04-06 17:46:28 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-04-06 23:00:10 +0100
commit9cd60f98b13cf7b1c518851a51e1cbaa596d8f81 (patch)
treeec3d1597b1c5869712acab8decef75cdd6d3dc65
parente4352603b21d43a8b5d9ee417c036fff0a263d40 (diff)
downloadopenembedded-core-contrib-9cd60f98b13cf7b1c518851a51e1cbaa596d8f81.tar.gz
toasterui: shutdown on BuildCompleted event
toasterui exits event loop on one of the following events: CommandCompleted, CommandFailed or CommandExit. Unfortunately none of them come from bitbake when build fails. This is normai if toasterui runs in observer mode. However, if it's in build mode this causes toasterui to stuck in the infinite loop waiting for new events. The only event we can rely on is BuildCompleted as it always comes from bitbake unlike 3 above mentioned events. Modified the code to always shutdown toasterui in build mode on BuildCompleted event. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/ui/toasterui.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/bb/ui/toasterui.py b/lib/bb/ui/toasterui.py
index 39a4fe5005..6bf4c1f030 100644
--- a/lib/bb/ui/toasterui.py
+++ b/lib/bb/ui/toasterui.py
@@ -377,11 +377,14 @@ def main(server, eventHandler, params):
buildinfohelper.close(errorcode)
# we start a new build info
- logger.debug("ToasterUI prepared for new build")
- errors = 0
- warnings = 0
- taskfailures = []
- buildinfohelper = BuildInfoHelper(server, build_history_enabled)
+ if params.observe_only:
+ logger.debug("ToasterUI prepared for new build")
+ errors = 0
+ warnings = 0
+ taskfailures = []
+ buildinfohelper = BuildInfoHelper(server, build_history_enabled)
+ else:
+ main.shutdown = 1
logger.info("ToasterUI build done, brbe: %s", brbe)
continue