diff options
-rwxr-xr-x | bitbake/lib/toaster/toastergui/views.py | 16 |
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 |