1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-12-14 04:51:05 +01:00

Merge pull request #13866 from obsidiansystems/more-derivation-builder-cleanup

Even more `DerivationBuilder` cleanup
This commit is contained in:
Jörg Thalheim 2025-09-01 20:35:16 +02:00 committed by GitHub
commit a0ce514769
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 9 additions and 12 deletions

View file

@ -721,9 +721,11 @@ Goal::Co DerivationBuildingGoal::tryToBuild()
try {
builtOutputs = builder->unprepareBuild();
} catch (BuilderFailureError & e) {
builder.reset();
outputLocks.unlock();
co_return doneFailure(fixupBuilderFailureErrorMessage(std::move(e)));
} catch (BuildError & e) {
builder.reset();
outputLocks.unlock();
// Allow selecting a subset of enum values
# pragma GCC diagnostic push
@ -748,6 +750,7 @@ Goal::Co DerivationBuildingGoal::tryToBuild()
co_return doneFailure(std::move(e));
}
{
builder.reset();
StorePathSet outputPaths;
for (auto & [_, output] : builtOutputs) {
// for sake of `bmRepair`