diff --git a/src/libstore/build/derivation-building-goal.cc b/src/libstore/build/derivation-building-goal.cc index c72130142..d07beb9ec 100644 --- a/src/libstore/build/derivation-building-goal.cc +++ b/src/libstore/build/derivation-building-goal.cc @@ -201,11 +201,9 @@ Goal::Co DerivationBuildingGoal::gaveUpOnSubstitution(bool storeDerivation) slot to become available, since we don't need one if there is a build hook. */ co_await yield(); - co_return tryToBuild(); -} -Goal::Co DerivationBuildingGoal::tryToBuild() -{ +tryToBuild: + std::map initialOutputs; /* Recheck at this point. In particular, whereas before we were @@ -527,7 +525,7 @@ Goal::Co DerivationBuildingGoal::tryToBuild() if (curBuilds >= settings.maxBuildJobs) { outputLocks.unlock(); co_await waitForBuildSlot(); - co_return tryToBuild(); + goto tryToBuild; } if (!builder) { 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 547e533e2..1f2a57d86 100644 --- a/src/libstore/include/nix/store/build/derivation-building-goal.hh +++ b/src/libstore/include/nix/store/build/derivation-building-goal.hh @@ -110,7 +110,6 @@ private: * The states. */ Co gaveUpOnSubstitution(bool storeDerivation); - Co tryToBuild(); /** * Is the build hook willing to perform the build?