From 3cb38e8ab940433aa84619af9522e1e31e2421fc Mon Sep 17 00:00:00 2001 From: Las Date: Mon, 17 Mar 2025 22:42:39 +0000 Subject: [PATCH] Use `Goal::waitForAWhile` in a few more places --- src/libstore/build/derivation-goal.cc | 3 +-- src/libstore/unix/build/local-derivation-goal.cc | 6 ++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/libstore/build/derivation-goal.cc b/src/libstore/build/derivation-goal.cc index 4236f6089..1309c313c 100644 --- a/src/libstore/build/derivation-goal.cc +++ b/src/libstore/build/derivation-goal.cc @@ -660,9 +660,8 @@ Goal::Co DerivationGoal::tryToBuild() if (!actLock) actLock = std::make_unique(*logger, lvlWarn, actBuildWaiting, fmt("waiting for a machine to build '%s'", Magenta(worker.store.printStorePath(drvPath)))); - worker.waitForAWhile(shared_from_this()); outputLocks.unlock(); - co_await Suspend{}; + co_await waitForAWhile(); co_return tryToBuild(); case rpDecline: /* We should do it ourselves. */ diff --git a/src/libstore/unix/build/local-derivation-goal.cc b/src/libstore/unix/build/local-derivation-goal.cc index 89ededa45..980712f1a 100644 --- a/src/libstore/unix/build/local-derivation-goal.cc +++ b/src/libstore/unix/build/local-derivation-goal.cc @@ -479,9 +479,8 @@ Goal::Co LocalDerivationGoal::tryLocalBuild() unsigned int curBuilds = worker.getNrLocalBuilds(); if (curBuilds >= settings.maxBuildJobs) { - worker.waitForBuildSlot(shared_from_this()); outputLocks.unlock(); - co_await Suspend{}; + co_await waitForBuildSlot(); co_return tryToBuild(); } @@ -535,8 +534,7 @@ Goal::Co LocalDerivationGoal::tryLocalBuild() if (!actLock) actLock = std::make_unique(*logger, lvlWarn, actBuildWaiting, fmt("waiting for a free build user ID for '%s'", Magenta(worker.store.printStorePath(drvPath)))); - worker.waitForAWhile(shared_from_this()); - co_await Suspend{}; + co_await waitForAWhile(); co_return tryLocalBuild(); } }