Skip to content

Improve build abort

Kamil Trzciński requested to merge improve-build-abort into master

Solves a very rare case resulting in dead-lock when cancelling a build

It's possible that we will block on Notify anonymous function, when the select loop a few lines below gets finished. It will happen, because we use unbuffered channel, but don't have a possibility to consume it. Thus this will block trace sending routing. Trace sending routine will not finish, thus it will block trace.Success/Fail resulting in ability to cleanup a executor and releasing a machine.

This also renames BuildAbort to SystemInterrupt which is more accurate and makes a timeout a BuildError instead of SystemError.

Merge request reports