Find a file
Eelco Dolstra 1ecc8a4f40 hydra-queue-runner: Fix a race keeping cancelled steps alive
If a step is cancelled just as its builder step is starting,
doBuildStep() will return sRetry. This causes builder() to make the
step runnable again, since the queue monitor may have added new builds
referencing it. The idea is that if the latter condition is not true,
the step's reference count will drop to zero and it will be
deleted. However, if the dispatcher thread sees and locks the step
before the reference count can drop to zero in the builder thread, the
dispatcher thread will start a new builder thread for the step. Thus
the step can be kept alive for an indefinite amount of time.

The fix is for State::builder() to use a weak pointer to the step, to
ensure that the step's reference count can drop to zero *before* it's
added to the runnable queue.
2016-11-08 11:47:49 +01:00
doc doc: add basic docs about declarative projects 2016-10-31 18:33:17 +01:00
src hydra-queue-runner: Fix a race keeping cancelled steps alive 2016-11-08 11:47:49 +01:00
tests Fix API tests 2016-10-27 13:15:09 +02:00
.gitignore Shut up warnings 2015-05-28 17:38:17 +02:00
bootstrap hydra: Simplify `bootstrap'. 2011-01-14 10:52:47 +00:00
configure.ac Remove the pretty-printed log 2016-10-27 14:43:17 +02:00
COPYING hydra: revert license change 2010-03-29 14:16:46 +00:00
hydra-module.nix Allow hydra-eval-jobset to be found by the hydra-evaluator 2016-10-25 22:55:32 +02:00
INSTALL hydra: use autoconf/-make 2010-09-30 14:29:15 +00:00
Makefile.am Install hydra-module.nix into $out/share/nix 2013-07-28 11:24:31 -04:00
README.md Update build images to be more friendly to users with color blindness. 2016-11-07 06:53:27 -05:00
release.nix Remove the pretty-printed log 2016-10-27 14:43:17 +02:00
shell.nix inNixShell considered harmful 2016-03-22 13:10:37 +01:00
version hydra: fix tarball build, add pre suffix to tarballs 2010-09-30 15:02:42 +00:00

Hydra

Hydra is a continuous integration system based on the Nix package manager. For more information, see the manual.

For development see [hacking instructions] (http://nixos.org/hydra/manual/#chap-hacking).


Icons provided free by EmojiOne.