aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbitbake/lib/toaster/toastergui/views.py16
1 files changed, 13 insertions, 3 deletions
diff --git a/bitbake/lib/toaster/toastergui/views.py b/bitbake/lib/toaster/toastergui/views.py
index bd334b9f801..a0e1429ca55 100755
--- a/bitbake/lib/toaster/toastergui/views.py
+++ b/bitbake/lib/toaster/toastergui/views.py
@@ -2887,9 +2887,19 @@ if True:
if 'buildCancel' in request.POST:
for i in request.POST['buildCancel'].strip().split(" "):
try:
- br = BuildRequest.objects.select_for_update().get(project = prj, pk = i, state__lte = BuildRequest.REQ_QUEUED)
- br.state = BuildRequest.REQ_DELETED
- br.save()
+ br = BuildRequest.objects.select_for_update().get(project = prj, pk = i, state__lte = BuildRequest.REQ_INPROGRESS)
+ bbctrl = bbcontroller.BuildEnvironmentController(br.environment)
+ server = bbctrl.getBBController(True)
+ logger.warning(br.environment.LOCK_STATE)
+ server.runCommand(["stateForceShutdown"])
+ while True:
+ if len(BuildRequest.objects.get(pk = i ).build.errors) > 0:
+ br.state = BuildRequest.REQ_DELETED
+ br.save()
+ build = BuildRequest.objects.get(pk = i ).build
+ build.outcome = 0
+ build.save()
+ break
except BuildRequest.DoesNotExist:
pass