snix/third_party/nix/src
Vincent Ambo 46c78aa0f9 refactor(3p/nix): Only initialise garbage-collector where needed
Only libexpr depends on the garbage collector, specifically only
instantiations of EvalState actually require the GC to be initialised.

Rather than always starting it for the whole program, even if it is
not needed, this change moves the GC initialisation into libexpr,
guarded by absl::call_once.

This should make it possible to run the nix daemon without the garbage
collector interfering, granted that things are correcty separated and
the daemon does not actually invoke the evaluator.

Based on my investigation so far, the daemon logic itself does not
require libexpr to be present at all - so I think it is safe - but the
current monobinary might have some tricks up its sleeve that will
cause problems for us. We can deal with those if they arise.

Relates to https://b.tvl.fyi/issues/30

Change-Id: I61c745f96420c02e089bd3c362ac3ccb117d3073
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1584
Tested-by: BuildkiteCI
Reviewed-by: edef <edef@edef.eu>
Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-03 08:38:57 +00:00
..
build-remote fix(3p/nix): revert "apply all clang-tidy fixes" 2020-08-01 22:45:15 +00:00
cpptoml style(3p/nix): Remove 'using std::*' from types.hh 2020-05-24 22:29:21 +01:00
libexpr refactor(3p/nix): Only initialise garbage-collector where needed 2020-08-03 08:38:57 +00:00
libmain fix(3p/nix): revert "apply all clang-tidy fixes" 2020-08-01 22:45:15 +00:00
libstore test(3p/nix): Add test for derivation parse/serialize 2020-08-02 20:00:08 +00:00
libutil fix(3p/nix): revert "apply all clang-tidy fixes" 2020-08-01 22:45:15 +00:00
nix refactor(3p/nix): Only initialise garbage-collector where needed 2020-08-03 08:38:57 +00:00
nix-build fix(3p/nix): revert "apply all clang-tidy fixes" 2020-08-01 22:45:15 +00:00
nix-channel fix(3p/nix): revert "apply all clang-tidy fixes" 2020-08-01 22:45:15 +00:00
nix-collect-garbage chore(3p/nix): Remove support for plugins 2020-07-20 14:45:43 +00:00
nix-copy-closure fix(3p/nix): revert "apply all clang-tidy fixes" 2020-08-01 22:45:15 +00:00
nix-daemon fix(3p/nix): revert "apply all clang-tidy fixes" 2020-08-01 22:45:15 +00:00
nix-env fix(3p/nix): revert "apply all clang-tidy fixes" 2020-08-01 22:45:15 +00:00
nix-instantiate fix(3p/nix): revert "apply all clang-tidy fixes" 2020-08-01 22:45:15 +00:00
nix-prefetch-url fix(3p/nix): revert "apply all clang-tidy fixes" 2020-08-01 22:45:15 +00:00
nix-store fix(3p/nix): revert "apply all clang-tidy fixes" 2020-08-01 22:45:15 +00:00
nlohmann Add 'third_party/nix/' from commit 'be66c7a6b24e3c3c6157fd37b86c7203d14acf10' 2020-05-17 15:52:38 +01:00
proto feat(3p/nix): Implement a few more RPC calls 2020-08-01 19:00:08 +00:00
tests refactor(3p/nix): Only initialise garbage-collector where needed 2020-08-03 08:38:57 +00:00
CMakeLists.txt feat(3p/nix): Add main function for grpc daemon 2020-07-25 20:11:41 +00:00