This prevents a race where multiple threads see that machine X is missing path P, and start sending it concurrently. Nix handles this correctly, but it's still wasteful (especially for the case where P == GHC). A more refined scheme would be to have per machine, per path locks.
To start hacking on Hydra, run:
$ ./dev-shell
$ ./configure $configureFlags --prefix=/opt/hydra
$ make
$ make install
Or, if you just want to build from source (on x86_64-linux):
$ nix-build -A build.x86_64-linux release.nix
Description
Languages
Perl
70.5%
C++
15.5%
Nix
6%
PLpgSQL
3%
Shell
2.3%
Other
2.6%