From 3b9c510ab1b9eb7ebf8e48c4c8a3ebe0d3c6f570 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Fri, 29 Aug 2025 15:08:35 -0400 Subject: [PATCH] `DerivationBuildingGoal::outputLocks` make local variable --- src/libstore/build/derivation-building-goal.cc | 7 +++++-- .../include/nix/store/build/derivation-building-goal.hh | 5 ----- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/libstore/build/derivation-building-goal.cc b/src/libstore/build/derivation-building-goal.cc index 5493845a5..3cb9c8135 100644 --- a/src/libstore/build/derivation-building-goal.cc +++ b/src/libstore/build/derivation-building-goal.cc @@ -475,6 +475,11 @@ Goal::Co DerivationBuildingGoal::tryToBuild() */ std::unique_ptr actLock; + /** + * Locks on (fixed) output paths. + */ + PathLocks outputLocks; + bool useHook; while (true) { @@ -1301,7 +1306,6 @@ SingleDrvOutputs DerivationBuildingGoal::assertPathValidity() Goal::Done DerivationBuildingGoal::doneSuccess(BuildResult::Status status, SingleDrvOutputs builtOutputs) { - outputLocks.unlock(); buildResult.status = status; assert(buildResult.success()); @@ -1319,7 +1323,6 @@ Goal::Done DerivationBuildingGoal::doneSuccess(BuildResult::Status status, Singl Goal::Done DerivationBuildingGoal::doneFailure(BuildError ex) { - outputLocks.unlock(); buildResult.status = ex.status; buildResult.errorMsg = fmt("%s", Uncolored(ex.info().msg)); if (buildResult.status == BuildResult::TimedOut) diff --git a/src/libstore/include/nix/store/build/derivation-building-goal.hh b/src/libstore/include/nix/store/build/derivation-building-goal.hh index 041abfad2..2ec573293 100644 --- a/src/libstore/include/nix/store/build/derivation-building-goal.hh +++ b/src/libstore/include/nix/store/build/derivation-building-goal.hh @@ -43,11 +43,6 @@ struct DerivationBuildingGoal : public Goal * The remainder is state held during the build. */ - /** - * Locks on (fixed) output paths. - */ - PathLocks outputLocks; - /** * All input paths (that is, the union of FS closures of the * immediate input paths).