diff options
author | Ludovic Courtès <ludo@gnu.org> | 2020-12-01 15:55:57 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-12-08 22:30:08 +0100 |
commit | a618a8c6203d4cf57f12873a86797b8685b11e14 (patch) | |
tree | b7b6eec5c5f387ccbaa8dfcd0859fa50047e6c8d /nix/libstore/local-store.hh | |
parent | 79c6614f58a57b985daf8940766319e440311db0 (diff) | |
download | guix-a618a8c6203d4cf57f12873a86797b8685b11e14.tar.gz |
daemon: Factorize substituter agent spawning.
* nix/libstore/local-store.hh (class LocalStore)[substituter]: New method. [runningSubstituter]: Turn into a shared_ptr. * nix/libstore/local-store.cc (LocalStore::querySubstitutablePaths): Call 'substituter' instead of using inline code. (LocalStore::querySubstitutablePathInfos): Likewise. (LocalStore::substituter): New method.
Diffstat (limited to 'nix/libstore/local-store.hh')
-rw-r--r-- | nix/libstore/local-store.hh | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/nix/libstore/local-store.hh b/nix/libstore/local-store.hh index 57d15bac7e..9ba37219da 100644 --- a/nix/libstore/local-store.hh +++ b/nix/libstore/local-store.hh @@ -42,7 +42,10 @@ class LocalStore : public StoreAPI { private: /* The currently running substituter or empty. */ - std::unique_ptr<Agent> runningSubstituter; + std::shared_ptr<Agent> runningSubstituter; + + /* Ensure the substituter is running and return it. */ + std::shared_ptr<Agent> substituter(); Path linksDir; |