lix/src
Jade Lovelace 66a9fbb7ff libstore: fix queryValidPaths concurrency
The lock usage was obviously wrong so it was entirely serialized. This
has the predicted speedups, the only question is whether it is sound
because it's exposing a bunch of new code to actual concurrency.

I did audit all the stores' queryPathInfoUncached implementations and
they all look *intended* to be thread safe, but whether that is actually
sound or not: lol lmao. I am highly confident in the s3 one because it
is calling s3 sdk methods that are thread safe and has no actual state.

Others are using Pool and look to be *supposed* to be thread safe, but
unsure if they actually are.

Change-Id: I0369152a510e878b5ac56c9ac956a98d48cd5fef
2024-06-18 23:29:08 +00:00
..
build-remote build-remote: truncate+hash store URI used in lockfile paths 2024-05-31 12:18:24 +00:00
libcmd libexpr: pass Exprs as references, not pointers 2024-06-17 19:46:44 +00:00
libexpr libexpr: add expr memory management 2024-06-17 19:46:44 +00:00
libfetchers doc: rewrite the multi-user documentation to actually talk about security 2024-06-12 15:34:23 -07:00
libmain build: expose option to enable or disable precompiled std headers 2024-06-06 12:46:26 -06:00
libstore libstore: fix queryValidPaths concurrency 2024-06-18 23:29:08 +00:00
libutil libutil: tidy Sync and fix its move constructor 2024-06-18 15:11:31 -07:00
nix diff-closures: fix a use after free 2024-06-18 15:11:49 -07:00
nix-build libexpr: pass Exprs as references, not pointers 2024-06-17 19:46:44 +00:00
nix-channel util.{hh,cc}: Split out users.{hh,cc} 2024-05-29 11:01:34 +02:00
nix-collect-garbage util.{hh,cc}: Split out file-system.{hh,cc} 2024-05-29 09:54:47 +02:00
nix-copy-closure Merge pull request #9277 from keszybz/file-permissions 2024-03-04 05:26:17 +01:00
nix-env libexpr: pass Exprs as references, not pointers 2024-06-17 19:46:44 +00:00
nix-instantiate libexpr: pass Exprs as references, not pointers 2024-06-17 19:46:44 +00:00
nix-store util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
pch build-time: remove 20% more by PCH'ing C++ stdlib 2024-05-30 21:54:21 +00:00
resolve-system-dependencies remove the autoconf+Make buildsystem 2024-05-07 17:04:30 -06:00
lix-base.pc.in packaging: rename nixexpr -> lixexpr and so on 2024-05-23 16:45:23 -06:00
meson.build meson: implement functional tests 2024-03-27 18:37:50 -06:00