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 cacff1be88 * No longer block while waiting for a lock on a store path. Instead
poll for it (i.e. if we can't acquire the lock, then let the main
  select() loop wait for at most a few seconds and then try again).
  This improves parallelism: if two nix-store processes are both
  trying to build a path at the same time, the second one shouldn't
  block; it should first see if it can build other goals.  Also, it
  prevents the deadlocks that have been occuring in Hydra lately,
  where a process waits for a lock held by another process that's
  waiting for a lock held by the first.

  The downside is that polling isn't really elegant, but POSIX doesn't
  provide a way to wait for locks in a select() loop.  The only
  solution would be to spawn a thread for each lock to do a blocking
  fcntl() and then signal the main thread, but that would require
  pthreads.
2009-03-23 01:05:54 +00:00
blacklisting * This is a better location to keep the blacklist, since it can evolve 2005-03-24 14:07:02 +00:00
corepkgs * Allow the channel to declare a name for itself. 2009-03-03 14:47:39 +00:00
doc documentation for previous commit 2009-02-05 19:35:44 +00:00
externals * Removed reference to losser.st-lab.cs.uu.nl, which is RIP after 9 2009-01-05 12:14:43 +00:00
make * `dependencyClosure' now allows a search path, e.g., 2005-08-14 14:00:39 +00:00
misc vim syntax: support for indented strings ('' .. '') 2009-01-28 12:14:53 +00:00
scripts * Future proofing: assume we can read manifests up to version 10 2009-03-19 10:02:02 +00:00
src * No longer block while waiting for a lock on a store path. Instead 2009-03-23 01:05:54 +00:00
tests * Test case (currently fails): multiple Nix builds shouldn't block 2009-03-22 23:16:18 +00:00
aterm-gc.supp * Extend the ATerm suppressions to 64-bit. 2008-08-29 14:38:04 +00:00
AUTHORS * Put something in here. 2004-11-07 20:30:02 +00:00
bootstrap.sh * Build dynamic libraries. 2005-07-22 14:52:45 +00:00
ChangeLog * Autoconf / Automake configuration and building. 2003-04-04 16:14:56 +00:00
configure.ac * NAR archives: handle files larger than 2^32 bytes. Previously it 2009-03-22 17:36:43 +00: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 * Moved the build farm job for building Nix to the Nix tree. 2008-11-26 01:13:29 +00:00
nix.conf.example * Removed obsolete option. 2008-11-19 13:18:46 +00:00
nix.spec.in * Urgh. 2008-11-20 16:42:52 +00:00
README * Install documentation in $(docdir) (i.e. share/doc/nix). 2008-11-19 13:19:09 +00:00
release.nix * Make the version available to release.nix. 2009-03-09 15:05:08 +00:00
substitute.mk --proxy=proxy:3128 2008-05-07 14:18:28 +00:00
version * Make the version available to release.nix. 2009-03-09 15:05:08 +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/).