mirror of
https://github.com/NixOS/nix
synced 2025-07-07 14:21:48 +02:00
Kill builds when we get EOF on the log FD
This closes a long-time bug that allowed builds to hang Nix indefinitely (regardless of timeouts) simply by doing exec > /dev/null 2>&1; while true; do true; done Now, on EOF, we just send SIGKILL to the child to make sure it's really gone.
This commit is contained in:
parent
63e10b4d28
commit
21948deed9
6 changed files with 40 additions and 40 deletions
|
@ -17,4 +17,12 @@ with import ./config.nix;
|
|||
'';
|
||||
};
|
||||
|
||||
closeLog = mkDerivation {
|
||||
name = "silent";
|
||||
buildCommand = ''
|
||||
exec > /dev/null 2>&1
|
||||
sleep 1000000000
|
||||
'';
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -24,3 +24,8 @@ if nix-build timeout.nix -A silent --max-silent-time 2; then
|
|||
echo "build should have failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if nix-build timeout.nix -A closeLog; then
|
||||
echo "build should have failed"
|
||||
exit 1
|
||||
fi
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue