nix-super/src
Graham Bennett 82ddb13098 Unlock output paths when a derivation is already built
Without this change, nix build processes will not drop the locks for derivation goals
which have already been built by another process when the current process gets
round to building them. This means the locks are held until the process
terminates.

If there are other nix build processes in a similar state, they will also try to
acquire the same locks when they try to build the same derivation, and so will
wait until the lock holder terminates (which might be a very long time if it has
a lot to build). In some pathological cases, those processes might be holding
their own locks on other derivations due to the same issue, and this can lead to
deadlock.

Resolves #6468
2023-09-09 10:11:11 +01:00
..
build-remote Allow dynamic derivation deps in inputDrvs 2023-09-07 10:39:37 -04:00
libcmd Allow dynamic derivation deps in inputDrvs 2023-09-07 10:39:37 -04:00
libexpr Merge pull request #8944 from fricklerhandwerk/fix-anchor 2023-09-07 17:58:16 +02:00
libfetchers Tarball trees: Propagate lastModified 2023-08-22 21:51:26 +02:00
libmain Prevent overriding virtual methods that are called in a destructor 2023-08-11 11:58:33 +02:00
libstore Unlock output paths when a derivation is already built 2023-09-09 10:11:11 +01:00
libutil Allow dynamic derivation deps in inputDrvs 2023-09-07 10:39:37 -04:00
nix fix: nix shell multiple commands example (#8950) 2023-09-07 22:25:32 +00:00
nix-build Allow dynamic derivation deps in inputDrvs 2023-09-07 10:39:37 -04:00
nix-channel Factor out nix-defexpr path computation 2023-08-02 12:54:48 -04:00
nix-collect-garbage Clean up a few things related to profiles (#8526) 2023-06-19 04:04:59 +00:00
nix-copy-closure Remove FormatOrString and remaining uses of format() 2023-03-02 15:57:54 +01:00
nix-env Merge pull request #8735 from obsidiansystems/defexpr 2023-08-11 20:32:03 +02:00
nix-instantiate nix: Support the --repair flag 2023-04-28 17:03:04 +02:00
nix-store add nix-store --query --valid-derivers command 2023-08-24 11:37:24 +02:00
resolve-system-dependencies Remove FormatOrString and remaining uses of format() 2023-03-02 15:57:54 +01:00
toml11 Replace cpptoml with toml11 2021-12-17 22:03:33 +01:00