about summary refs log tree commit diff
path: root/tests/gc-concurrent.sh
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2005-01-31T22·23+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2005-01-31T22·23+0000
commit32fa82a56a2c4a937c91f72be16339b4ddf7cdf1 (patch)
tree3e84b69bb6d46bf8461b8544e80a5f3da0d40f7f /tests/gc-concurrent.sh
parent89c9bc11abc02cc746838bfef101e5fecc59a6c5 (diff)
* Acquire a global GC lock to prevent new temporary root files from
  being created after the garbage collector has read the temproots
  directory.  This blocks the creation of new processes, but the
  garbage collector could periodically release the GC lock to allow
  them to run.

Diffstat (limited to 'tests/gc-concurrent.sh')
-rw-r--r--tests/gc-concurrent.sh3
1 files changed, 3 insertions, 0 deletions
diff --git a/tests/gc-concurrent.sh b/tests/gc-concurrent.sh
index fd329b457eb9..c85a03e1ca88 100644
--- a/tests/gc-concurrent.sh
+++ b/tests/gc-concurrent.sh
@@ -6,6 +6,8 @@ outPath2=$($TOP/src/nix-store/nix-store -q $storeExpr2)
 
 ls -l test-tmp/state/temproots
 
+ln -s $storeExpr2 "$NIX_LOCALSTATE_DIR"/nix/gcroots/foo2
+
 # Start build #1 in the background.  It starts immediately.
 $TOP/src/nix-store/nix-store -rvv "$storeExpr1" &
 pid1=$!
@@ -31,4 +33,5 @@ wait $pid2
 cat $outPath1/foobar
 cat $outPath1/input-2/bar
 
+# Build #2 should have failed because its derivation got garbage collected.
 cat $outPath2/foobar