mirror of
https://github.com/NixOS/nix
synced 2025-07-07 18:31:49 +02:00
* Acquire the locks on the output paths before trying to run the build
hook. This fixes a problem with log files being partially or completely filled with 0's because another nix-store process truncates the log file. It should also be more efficient.
This commit is contained in:
parent
1dcf208f56
commit
c183ee5c79
4 changed files with 78 additions and 150 deletions
|
@ -1,6 +1,6 @@
|
|||
source common.sh
|
||||
|
||||
$NIX_BIN_DIR/nix-collect-garbage -vvvvv
|
||||
$NIX_BIN_DIR/nix-collect-garbage
|
||||
|
||||
drvPath1=$($nixinstantiate gc-concurrent.nix -A test1)
|
||||
outPath1=$($nixstore -q $drvPath1)
|
||||
|
@ -28,7 +28,7 @@ pid2=$!
|
|||
|
||||
# Run the garbage collector while the build is running.
|
||||
sleep 4
|
||||
$NIX_BIN_DIR/nix-collect-garbage -vvvvv
|
||||
$NIX_BIN_DIR/nix-collect-garbage
|
||||
|
||||
# Wait for build #1/#2 to finish.
|
||||
echo waiting for pid $pid1 to finish...
|
||||
|
@ -53,6 +53,6 @@ rm -f "$NIX_STATE_DIR"/gcroots/foo*
|
|||
! test -e $outPath3.lock
|
||||
|
||||
# If we run the collector now, it should delete outPath1/2.
|
||||
$NIX_BIN_DIR/nix-collect-garbage -vvvvv
|
||||
$NIX_BIN_DIR/nix-collect-garbage
|
||||
! test -e $outPath1
|
||||
! test -e $outPath2
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue