tvl-depot/src/libstore
Eelco Dolstra c970b28ba0 * Fix a race condition with parallel builds where multiple
fixed-output derivations or substitutions try to build the same
  store path at the same time.  Locking generally catches this, but
  not between multiple goals in the same process.  This happened
  especially often (actually, only) in the build farm with fetchurl
  downloads of the same file being executed on multiple machines and
  then copied back to the main machine where they would clobber each
  other (NIXBF-13).

  Solution: if a goal notices that the output path is already locked,
  then go to sleep until another goal finishes (hopefully the one
  locking the path) and try again.
2007-08-28 11:36:17 +00:00
..
build.cc * Fix a race condition with parallel builds where multiple 2007-08-28 11:36:17 +00:00
db.cc * Get rid of the substitutes database table (NIX-47). Instead, if we 2007-08-12 00:29:28 +00:00
db.hh * Get rid of the substitutes database table (NIX-47). Instead, if we 2007-08-12 00:29:28 +00:00
derivations-ast.def * Automatically upgrade <= 0.7 Nix stores to the new schema (so that 2005-02-09 09:50:29 +00:00
derivations.cc * computeStorePathForText: take the references into account when 2007-01-29 15:51:37 +00:00
derivations.hh * Remove unnecessary inclusions of aterm2.h. 2006-09-04 22:08:40 +00:00
gc.cc * PathLocks::lockPaths: don't allow reacquiring a lock we already 2007-08-28 09:39:03 +00:00
globals.cc * Get rid of the substitutes database table (NIX-47). Instead, if we 2007-08-12 00:29:28 +00:00
globals.hh * Get rid of the substitutes database table (NIX-47). Instead, if we 2007-08-12 00:29:28 +00:00
local-store.cc * Bump the Nix database schema version number; delete the substitutes 2007-08-13 11:37:39 +00:00
local-store.hh * Bump the Nix database schema version number; delete the substitutes 2007-08-13 11:37:39 +00:00
Makefile.am * Allow unprivileged users to run the garbage collector and to do 2006-12-05 02:18:46 +00:00
misc.cc * Get rid of the substitutes database table (NIX-47). Instead, if we 2007-08-12 00:29:28 +00:00
misc.hh * Use a proper namespace. 2006-09-04 21:06:23 +00:00
pathlocks.cc * Fix a race condition with parallel builds where multiple 2007-08-28 11:36:17 +00:00
pathlocks.hh * Fix a race condition with parallel builds where multiple 2007-08-28 11:36:17 +00:00
references.cc * Use a bounded amount of memory in scanForReferences() by not reading 2006-09-22 13:10:30 +00:00
references.hh * Use a proper namespace. 2006-09-04 21:06:23 +00:00
remote-store.cc * Get rid of the substitutes database table (NIX-47). Instead, if we 2007-08-12 00:29:28 +00:00
remote-store.hh * Get rid of the substitutes database table (NIX-47). Instead, if we 2007-08-12 00:29:28 +00:00
store-api.cc * Get rid of the substitutes database table (NIX-47). Instead, if we 2007-08-12 00:29:28 +00:00
store-api.hh * Get rid of the substitutes database table (NIX-47). Instead, if we 2007-08-12 00:29:28 +00:00
worker-protocol.hh * Backwards compatibility. 2007-08-13 11:15:13 +00:00