mirror of
https://github.com/NixOS/nix.git
synced 2024-11-26 00:32:28 +00:00
Merge pull request #11408 from NixOS/mergify/bp/2.24-maintenance/pr-11402
Respect max-substitution-jobs again (backport #11402)
This commit is contained in:
commit
f1ab41b2bc
@ -183,7 +183,7 @@ Goal::Co PathSubstitutionGoal::tryToRun(StorePath subPath, nix::ref<Store> sub,
|
|||||||
/* Make sure that we are allowed to start a substitution. Note that even
|
/* Make sure that we are allowed to start a substitution. Note that even
|
||||||
if maxSubstitutionJobs == 0, we still allow a substituter to run. This
|
if maxSubstitutionJobs == 0, we still allow a substituter to run. This
|
||||||
prevents infinite waiting. */
|
prevents infinite waiting. */
|
||||||
if (worker.getNrSubstitutions() >= std::max(1U, (unsigned int) settings.maxSubstitutionJobs)) {
|
while (worker.getNrSubstitutions() >= std::max(1U, (unsigned int) settings.maxSubstitutionJobs)) {
|
||||||
worker.waitForBuildSlot(shared_from_this());
|
worker.waitForBuildSlot(shared_from_this());
|
||||||
co_await Suspend{};
|
co_await Suspend{};
|
||||||
}
|
}
|
||||||
|
@ -184,13 +184,13 @@ void Worker::wakeUp(GoalPtr goal)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
unsigned Worker::getNrLocalBuilds()
|
size_t Worker::getNrLocalBuilds()
|
||||||
{
|
{
|
||||||
return nrLocalBuilds;
|
return nrLocalBuilds;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
unsigned Worker::getNrSubstitutions()
|
size_t Worker::getNrSubstitutions()
|
||||||
{
|
{
|
||||||
return nrSubstitutions;
|
return nrSubstitutions;
|
||||||
}
|
}
|
||||||
|
@ -92,12 +92,12 @@ private:
|
|||||||
* Number of build slots occupied. This includes local builds but does not
|
* Number of build slots occupied. This includes local builds but does not
|
||||||
* include substitutions or remote builds via the build hook.
|
* include substitutions or remote builds via the build hook.
|
||||||
*/
|
*/
|
||||||
unsigned int nrLocalBuilds;
|
size_t nrLocalBuilds;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Number of substitution slots occupied.
|
* Number of substitution slots occupied.
|
||||||
*/
|
*/
|
||||||
unsigned int nrSubstitutions;
|
size_t nrSubstitutions;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Maps used to prevent multiple instantiations of a goal for the
|
* Maps used to prevent multiple instantiations of a goal for the
|
||||||
@ -235,12 +235,12 @@ public:
|
|||||||
* Return the number of local build processes currently running (but not
|
* Return the number of local build processes currently running (but not
|
||||||
* remote builds via the build hook).
|
* remote builds via the build hook).
|
||||||
*/
|
*/
|
||||||
unsigned int getNrLocalBuilds();
|
size_t getNrLocalBuilds();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the number of substitution processes currently running.
|
* Return the number of substitution processes currently running.
|
||||||
*/
|
*/
|
||||||
unsigned int getNrSubstitutions();
|
size_t getNrSubstitutions();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registers a running child process. `inBuildSlot` means that
|
* Registers a running child process. `inBuildSlot` means that
|
||||||
|
Loading…
Reference in New Issue
Block a user