[Toaster] [PATCH] toasterui: set Build outcome to CANCELLED on cli interrupt
Elliot Smith
elliot.smith at intel.com
Wed Apr 27 07:46:12 PDT 2016
If a command-line build is interrupted with Ctrl-C or similar,
set the outcome of the Build to CANCELLED. This ensures that
interrupted builds don't "hang" in the Toaster UI and
are displayed as required by the design.
[YOCTO #8515]
Signed-off-by: Elliot Smith <elliot.smith at intel.com>
---
bitbake/lib/bb/ui/buildinfohelper.py | 10 ++++++++++
bitbake/lib/bb/ui/toasterui.py | 1 +
2 files changed, 11 insertions(+)
diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py
index 9397905..83dc098 100644
--- a/bitbake/lib/bb/ui/buildinfohelper.py
+++ b/bitbake/lib/bb/ui/buildinfohelper.py
@@ -1251,6 +1251,16 @@ class BuildInfoHelper(object):
+ def cancel_cli_build(self):
+ """
+ If a build is currently underway, set its state to CANCELLED;
+ note that this only gets called for command line builds which are
+ interrupted, so it doesn't touch any BuildRequest objects
+ """
+ build = self.internal_state['build']
+ if build:
+ build.outcome = Build.CANCELLED
+ build.save()
def store_dependency_information(self, event):
assert '_depgraph' in vars(event)
diff --git a/bitbake/lib/bb/ui/toasterui.py b/bitbake/lib/bb/ui/toasterui.py
index 6bf4c1f..fb476a3 100644
--- a/bitbake/lib/bb/ui/toasterui.py
+++ b/bitbake/lib/bb/ui/toasterui.py
@@ -442,6 +442,7 @@ def main(server, eventHandler, params):
pass
except KeyboardInterrupt:
main.shutdown = 1
+ buildinfohelper.cancel_cli_build()
except Exception as e:
# print errors to log
import traceback
--
1.9.3
---------------------------------------------------------------------
Intel Corporation (UK) Limited
Registered No. 1134945 (England)
Registered Office: Pipers Way, Swindon SN3 1RJ
VAT No: 860 2173 47
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
More information about the toaster
mailing list