From d5db0b1abc1809ad97fa28b82056b19c4a45710a Mon Sep 17 00:00:00 2001 From: eldritch horrors Date: Mon, 30 Sep 2024 01:31:30 +0200 Subject: libstore: turn periodic gc attempt into a promise notably we will check whether we want to do GC at all only once during startup, and we'll only attempt GC every ten seconds rather than every time a goal has finished a partial work call. this shouldn't cause any problems in practice since relying on auto-gc is not deterministic and stores in which builds can fill all remaining free space in merely ten seconds are severely troubled even when gargage collection runs a lot. Change-Id: I1175a56bf7f4e531f8be90157ad88750ff2ddec4 --- src/libstore/build/worker.hh | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/libstore/build/worker.hh') diff --git a/src/libstore/build/worker.hh b/src/libstore/build/worker.hh index 6da76fe34..dc85c43e3 100644 --- a/src/libstore/build/worker.hh +++ b/src/libstore/build/worker.hh @@ -20,6 +20,7 @@ namespace nix { struct DerivationGoal; struct PathSubstitutionGoal; class DrvOutputSubstitutionGoal; +class LocalStore; typedef std::chrono::time_point steady_time_point; @@ -189,6 +190,7 @@ private: } kj::Promise> runImpl(); + kj::Promise> boopGC(LocalStore & localStore); public: -- cgit v1.2.3