A modern, delicious implementation of the Nix package manager, focused on correctness, usability, and growth — and committed to doing right by its community
Find a file
Eelco Dolstra 117670be57 Make the garbage collector more concurrent
Make the garbage collector more concurrent by deleting valid paths
outside the region where we're holding the global GC lock.  This
should greatly reduce the time during which new builds are blocked,
since the deletion accounts for the vast majority of the time spent in
the GC.

To ensure that this is safe, the valid paths are invalidated and
renamed to some arbitrary path while we're holding the lock.  This
ensures that we when we finally delete the path, it's not a (newly)
valid or locked path.
2012-03-26 20:43:33 +02:00
corepkgs * currentOutput -> outputName. "current" implies some temporal 2012-01-04 12:00:39 +00:00
doc Remove the --max-links GC option 2012-03-26 20:00:02 +02:00
misc * Handle <path> syntax. 2011-08-06 18:54:29 +00:00
perl Add a command "nix-build --run-env" to reproduce the environment of a derivation 2012-03-19 04:14:21 +01:00
scripts Add a command "nix-build --run-env" to reproduce the environment of a derivation 2012-03-19 04:14:21 +01:00
src Make the garbage collector more concurrent 2012-03-26 20:43:33 +02:00
tests Replace "make check" with "make installcheck" 2012-03-19 01:20:02 +01:00
.gitignore Drop the externals directory 2012-03-18 23:54:57 +01:00
AUTHORS * Put something in here. 2004-11-07 20:30:02 +00:00
bootstrap.sh bootstrap: Simplify & make more robust. 2011-09-06 12:11:05 +00:00
configure.ac Fix the optional dependency on OpenSSL 2012-03-19 01:06:13 +01:00
COPYING * Change this to LGPL to keep the government happy. 2006-04-25 16:41:06 +00:00
INSTALL * Autoconf / Automake configuration and building. 2003-04-04 16:14:56 +00:00
Makefile.am Drop the externals directory 2012-03-18 23:54:57 +01:00
nix.conf.example * Document --cores in the manual. 2010-08-17 07:22:05 +00:00
nix.spec.in Fix the RPM 2012-03-19 14:30:59 +01:00
README * Install documentation in $(docdir) (i.e. share/doc/nix). 2008-11-19 13:19:09 +00:00
release.nix Fix the coverage build 2012-03-19 17:05:42 +01:00
substitute.mk Replace "make check" with "make installcheck" 2012-03-19 01:20:02 +01:00
version * Bump the version number. 2010-08-17 15:39:35 +00:00

Nix is a purely functional package manager.  For installation and
usage instructions, please read the manual, which can be found in
`docs/manual/manual.html', and additionally at the Nix website at
<http://nixos.org/>.


Acknowledgments

This product includes software developed by the OpenSSL Project for
use in the OpenSSL Toolkit (http://www.OpenSSL.org/).