buildman: Adjust the 'aborted' heuristic for writing output
authorSimon Glass <sjg@chromium.org>
Fri, 6 Feb 2015 05:06:13 +0000 (22:06 -0700)
committerSimon Glass <sjg@chromium.org>
Sat, 18 Apr 2015 22:24:24 +0000 (16:24 -0600)
commit88c8dcf94945937bea94b330067fe68fe24665b2
tree8a5d8b82ed872c9d1ade9d9c13a7b17f6c82283d
parent40f11fce7c686f2b51ae109c4085fb5988c5631c
buildman: Adjust the 'aborted' heuristic for writing output

At present buildman tries to detect an aborted build and doesn't record a
result in that case. This is to make sure that an abort (e.g. with Ctrl-C)
does not mark the build as done. Without this option, buildman would never
retry the build unless -f/-F are provided. The effect is that aborting the
build creates 'fake errors' on whatever builds buildman happens to be
working on at the time.

Unfortunately the current test is not reliable and this detection can
trigger if a required toolchain tool is missing. In this case the toolchain
problem is never reported.

Adjust the logic to continue processing the build result, mark the build as
done (and failed), but with a return code which indicates that it should be
retried.

The correct fix is to fully and correctly detect an aborted build, quit
buildman immediately and not write any partial build results in this case.
Unfortunately this is currently beyond my powers and is left as an exercise
for the reader (and patches are welcome).

Signed-off-by: Simon Glass <sjg@chromium.org>
tools/buildman/builderthread.py