lix/src/libstore
eldritch horrors 3d155fc509 libutil: give Pid proper resource semantics
copy-constructing or assigning from pid_t can easily lead to duplicate
Pid instances for the same process if a pid_t was used carelessly, and
Pid itself was copy-constructible. both could cause surprising results
such as killing processes twice (which could become very problemantic,
but luckily modern systems don't reuse PIDs all that quickly), or more
than one piece of the code believing it owns a process when neither do

Change-Id: Ifea7445f84200b34c1a1d0acc2cdffe0f01e20c6
2024-06-23 11:52:49 +00:00
..
build libutil: give Pid proper resource semantics 2024-06-23 11:52:49 +00:00
builtins filetransfer: return a Source from download() 2024-06-19 10:50:12 +00:00
linux chore: rebrand Nix to Lix when it makes sense 2024-06-01 20:31:24 +02:00
platform libstore: Start creating LocalDerivationGoal subclasses 2024-06-23 03:33:07 +00:00
binary-cache-store.cc libutil: return a source from readFile 2024-06-19 10:50:12 +00:00
binary-cache-store.hh libstore: BinaryCacheStore::getFile{ -> Contents} 2024-06-19 10:50:12 +00:00
build-result.cc Merge pull request #9094 from obsidiansystems/test-proto 2024-03-04 04:36:23 +01:00
build-result.hh Merge pull request #9094 from obsidiansystems/test-proto 2024-03-04 04:36:23 +01:00
builtins.hh
ca-specific-schema.sql
common-protocol-impl.hh Merge pull request #9099 from obsidiansystems/common-proto 2024-03-04 04:36:58 +01:00
common-protocol.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
common-protocol.hh Merge pull request #9099 from obsidiansystems/common-proto 2024-03-04 04:36:58 +01:00
content-address.cc Fix various clang-tidy lints 2024-03-29 20:26:38 -07:00
content-address.hh Fix various clang-tidy lints 2024-03-29 20:26:38 -07:00
crypto.cc util.{hh,cc}: Split out strings.{hh,cc} 2024-05-29 11:01:34 +02:00
crypto.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
daemon.cc libstore: remove operations that are never called by supported clients 2024-06-19 19:41:04 -07:00
daemon.hh
derivations.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
derivations.hh doc: rewrite the multi-user documentation to actually talk about security 2024-06-12 15:34:23 -07:00
derived-path-map.cc Revert "Adapt scheduler to work with dynamic derivations" 2023-10-02 15:05:23 +00:00
derived-path-map.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
derived-path.cc derived-path: refuse built derived path with a non-derivation base 2024-05-17 02:16:15 +02:00
derived-path.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
downstream-placeholder.cc Introduce OutputName and OutputNameView type aliases 2023-08-25 09:55:07 -04:00
downstream-placeholder.hh Introduce OutputName and OutputNameView type aliases 2023-08-25 09:55:07 -04:00
dummy-store.cc libutil: remove callback.hh 2024-05-10 02:21:11 +02:00
dummy-store.md
export-import.cc libstore: un-inline copyNAR expansions 2024-03-24 15:24:02 +01:00
filetransfer.cc filetransfer: return a Source from download() 2024-06-19 10:50:12 +00:00
filetransfer.hh filetransfer: return a Source from download() 2024-06-19 10:50:12 +00:00
fs-accessor.hh
gc-store.hh libstore: Create platform LocalStore subclasses 2024-04-23 16:17:05 +00:00
gc.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
globals.cc chore: rebrand Nix to Lix when it makes sense 2024-06-01 20:31:24 +02:00
globals.hh doc: rewrite the multi-user documentation to actually talk about security 2024-06-12 15:34:23 -07:00
http-binary-cache-store.cc filetransfer: return a Source from download() 2024-06-19 10:50:12 +00:00
http-binary-cache-store.md
indirect-root-store.hh Clean up store hierarchy with IndirectRootStore 2023-07-24 09:19:44 -04:00
legacy-ssh-store.cc libutil: remove callback.hh 2024-05-10 02:21:11 +02:00
legacy-ssh-store.md
length-prefixed-protocol-helper.hh Merge pull request #9099 from obsidiansystems/common-proto 2024-03-04 04:36:58 +01:00
lix-store.pc.in packaging: rename nixexpr -> lixexpr and so on 2024-05-23 16:45:23 -06:00
local-binary-cache-store.cc libutil: return a source from readFile 2024-06-19 10:50:12 +00:00
local-binary-cache-store.md
local-fs-store.cc Change error messages about 'invalid paths' to 'path does not exist'. 2024-06-16 03:55:39 +00:00
local-fs-store.hh chore: rebrand Nix to Lix when it makes sense 2024-06-01 20:31:24 +02:00
local-store.cc libutil: return a source from readFile 2024-06-19 10:50:12 +00:00
local-store.hh chore: rebrand Nix to Lix when it makes sense 2024-06-01 20:31:24 +02:00
local-store.md
lock.cc util.{hh,cc}: Split out file-descriptor.{hh,cc} 2024-05-29 09:54:47 +02:00
lock.hh
log-store.cc
log-store.hh
machines.cc Remove 100s of CPU time (10%) from build times (1465s -> 1302s) 2024-05-29 22:16:15 -07:00
machines.hh Merge pull request #9841 from obsidiansystems/float-speed-factor 2024-03-04 08:40:38 +01:00
make-content-addressed.cc Merge pull request #8650 from obsidiansystems/content-address-simpler 2023-07-21 13:46:53 +02:00
make-content-addressed.hh makeContentAddressed: Add single path helper 2023-06-30 18:22:47 +02:00
meson.build build: expose option to enable or disable precompiled std headers 2024-06-06 12:46:26 -06:00
misc.cc libutil: remove callback.hh 2024-05-10 02:21:11 +02:00
names.cc util.{hh,cc}: Split out strings.{hh,cc} 2024-05-29 11:01:34 +02:00
names.hh
nar-accessor.cc
nar-accessor.hh
nar-info-disk-cache.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
nar-info-disk-cache.hh
nar-info.cc Make "NAR info file is corrupt" messages more informative 2023-04-18 14:10:49 +02:00
nar-info.hh
optimise-store.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
outputs-spec.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
outputs-spec.hh Introduce OutputName and OutputNameView type aliases 2023-08-25 09:55:07 -04:00
parsed-derivations.cc Fix exportReferencesGraph when given store subpath 2024-04-21 10:27:32 +00:00
parsed-derivations.hh
path-info.cc Merge pull request #6223 from obsidiansystems/worker-proto-with-version 2024-03-04 04:59:31 +01:00
path-info.hh Merge pull request #9238 from tfc/small-improvements2 2024-03-04 05:18:05 +01:00
path-references.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
path-references.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
path-regex.hh Disallow store path names that are . or .. (plus opt. -) 2024-05-02 19:34:38 +02:00
path-with-outputs.cc Fixing #7479 2023-08-18 11:44:00 -04:00
path-with-outputs.hh Make the Derived Path family of types inductive for dynamic derivations 2023-08-10 00:08:32 -04:00
path.cc Disallow store path names that are . or .. (plus opt. -) 2024-05-02 19:34:38 +02:00
path.hh
pathlocks.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
pathlocks.hh util.{hh,cc}: Split out file-descriptor.{hh,cc} 2024-05-29 09:54:47 +02:00
platform.cc libstore: Start creating LocalDerivationGoal subclasses 2024-06-23 03:33:07 +00:00
profiles.cc util.{hh,cc}: Split out users.{hh,cc} 2024-05-29 11:01:34 +02:00
profiles.hh chore: rebrand Nix to Lix when it makes sense 2024-06-01 20:31:24 +02:00
realisation.cc libutil: de-callback-ify computeClosure 2024-05-07 14:35:20 +00:00
realisation.hh Introduce OutputName and OutputNameView type aliases 2023-08-25 09:55:07 -04:00
remote-fs-accessor.cc Change error messages about 'invalid paths' to 'path does not exist'. 2024-06-16 03:55:39 +00:00
remote-fs-accessor.hh
remote-store-connection.hh libstore: refuse to serialise ancient protocols 2024-06-16 19:15:08 -07:00
remote-store.cc libstore: remove operations that are never called by supported clients 2024-06-19 19:41:04 -07:00
remote-store.hh libstore: un-callback-ify Store::queryRealisationUncached 2024-05-09 23:18:05 +02:00
s3-binary-cache-store.cc libstore: work around aws sdk log spam at debug level 2024-06-18 15:11:49 -07:00
s3-binary-cache-store.hh
s3-binary-cache-store.md
s3.hh
schema.sql
serve-protocol-impl.hh Merge pull request #9137 from obsidiansystems/serve-protocol 2024-03-04 04:37:05 +01:00
serve-protocol.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
serve-protocol.hh libstore: remove operations that are never called by supported clients 2024-06-19 19:41:04 -07:00
sqlite.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
sqlite.hh Merge pull request #9925 from 9999years/fmt-cleanup 2024-03-09 07:00:13 -07:00
ssh-store-config.hh Merge pull request #6258 from obsidiansystems/gcc-bug-ergonomics 2024-03-04 05:24:33 +01:00
ssh-store.cc ssh-ng: Set log-fd for ssh to 4 by default 2024-04-26 19:04:06 +02:00
ssh-store.md
ssh.cc libutil: give Pid proper resource semantics 2024-06-23 11:52:49 +00:00
ssh.hh util.{hh,cc}: Split out processes.{hh,cc} 2024-05-29 11:01:34 +02:00
store-api.cc libutil: remove sinkToSource eof callback 2024-06-23 11:52:49 +00:00
store-api.hh Add a clearer error message for InvalidPathError during evaluation 2024-06-16 03:53:00 +00:00
store-cast.hh
uds-remote-store.cc util.{hh,cc}: Split out unix-domain-socket.{hh,cc} 2024-05-29 11:01:34 +02:00
uds-remote-store.hh Clean up store hierarchy with IndirectRootStore 2023-07-24 09:19:44 -04:00
uds-remote-store.md
worker-protocol-impl.hh Merge pull request #9099 from obsidiansystems/common-proto 2024-03-04 04:36:58 +01:00
worker-protocol.cc libstore client: remove remaining dead code 2024-06-16 19:15:08 -07:00
worker-protocol.hh libstore: remove operations that are never called by supported clients 2024-06-19 19:41:04 -07:00