Recheck path validity after acquiring lock

It might have changed, and in any event this is how the cod used to work
so let's just keep it.
This commit is contained in:
John Ericson 2020-08-11 23:44:02 +00:00
parent 2de201254e
commit 18834f7764

View file

@ -1547,6 +1547,7 @@ void DerivationGoal::tryToBuild()
omitted, but that would be less efficient.) Note that since we omitted, but that would be less efficient.) Note that since we
now hold the locks on the output paths, no other process can now hold the locks on the output paths, no other process can
build this derivation, so no further checks are necessary. */ build this derivation, so no further checks are necessary. */
checkPathValidity();
bool allValid = true; bool allValid = true;
for (auto & [_, status] : initialOutputs) { for (auto & [_, status] : initialOutputs) {
if (!status.wanted) continue; if (!status.wanted) continue;