lix/src/libutil
eldritch horrors 99edc2ae38 libstore: check for interrupts in parallel promise
this simplifies the worker loop, and lets us remove it entirely later.
note that ideally only one promise waiting for interrupts should exist
in the entire system. not one per event loop, one per *process*. extra
interrupt waiters make interrupt response nondeterministic and as such
aren't great for user experience. if anything wants to react to aborts
caused by explicit interruptions, or anything else, those things would
be much better served using RAII guards such as Finally (or KJ_DEFER).

Change-Id: I41d035ff40172d536e098153c7375b0972110d51
2024-10-05 19:06:59 +00:00
..
args libutil: fix args assert being thrown on Darwin in nix-eval-jobs 2024-05-31 12:17:06 +00:00
abstract-setting-to-json.hh HOT SALE: 15% off your build times! 2024-03-27 03:52:57 +00:00
ansicolor.hh Finish converting existing comments for internal API docs (#8146) 2023-04-07 13:55:28 +00:00
apply-config-options.hh Add ApplyConfigOptions 2024-08-25 12:18:20 -07:00
archive.cc archive: refactor bad mutable-state API in the NAR parse listener 2024-09-13 17:11:43 -07:00
archive.hh archive: refactor bad mutable-state API in the NAR parse listener 2024-09-13 17:11:43 -07:00
args.cc tree-wide: shuffle headers around for about 30s compile time 2024-08-28 09:55:05 -07:00
args.hh tree-wide: shuffle headers around for about 30s compile time 2024-08-28 09:55:05 -07:00
async-collect.hh libutil: add async collection mechanism 2024-09-26 16:56:08 +00:00
async-semaphore.hh libutil: add an async semaphore implementation 2024-09-26 16:32:02 +00:00
backed-string-view.hh tree-wide: shuffle headers around for about 30s compile time 2024-08-28 09:55:05 -07:00
box_ptr.hh Add box_ptr: nonnull unique_ptr with value semantics 2024-03-11 01:04:52 -07:00
canon-path.cc util.{hh,cc}: Split out file-system.{hh,cc} 2024-05-29 09:54:47 +02:00
canon-path.hh Merge remote-tracking branch 'upstream/master' into source-path 2023-04-17 11:41:50 +02:00
cgroup.cc util.{hh,cc}: Split out strings.{hh,cc} 2024-05-29 11:01:34 +02:00
cgroup.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
charptr-cast.hh tree-wide: automated migration to charptr_cast 2024-08-08 14:53:17 -07:00
checked-arithmetic.hh libutil: add checked arithmetic tools 2024-07-13 00:56:37 +02:00
chunked-vector.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
closure.hh libutil: de-callback-ify computeClosure 2024-05-07 14:35:20 +00:00
comparator.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
compression.cc util: fix brotli decompression of empty input 2024-09-18 15:37:29 -07:00
compression.hh libutil: remove makeDecompressionSink 2024-07-11 11:39:18 +00:00
compute-levels.cc Add x86_64 compute levels as additional system types 2021-02-22 09:11:15 +01:00
compute-levels.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
concepts.hh libexpr: implement actual constructors for nix::Value 2024-07-31 15:38:37 +02:00
config-impl.hh Thread ApplyConfigOptions through config parsing 2024-08-25 15:54:22 -07:00
config.cc Support relative and ~/ paths in config settings 2024-08-25 15:54:22 -07:00
config.hh Thread ApplyConfigOptions through config parsing 2024-08-25 15:54:22 -07:00
current-process.cc Split ignoreException to avoid suppressing CTRL-C 2024-10-01 15:49:56 -07:00
current-process.hh util.{hh,cc}: Split out current-process.{hh,cc} 2024-05-29 11:01:34 +02:00
deprecated-features-json.hh libexpr: Introduce Deprecated features 2024-08-17 19:47:51 +02:00
deprecated-features.cc libexpr: Soft-deprecate ancient let syntax 2024-08-21 12:59:03 +02:00
deprecated-features.hh libexpr: Soft-deprecate ancient let syntax 2024-08-21 12:59:03 +02:00
english.cc Unify and refactor value printing 2024-03-09 03:50:06 +01:00
english.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
environment-variables.cc util.{hh,cc}: Split out environment-variables.{hh,cc} 2024-05-28 11:29:29 +02:00
environment-variables.hh util.{hh,cc}: Split out environment-variables.{hh,cc} 2024-05-28 11:29:29 +02:00
error.cc Split ignoreException to avoid suppressing CTRL-C 2024-10-01 15:49:56 -07:00
error.hh Split ignoreException to avoid suppressing CTRL-C 2024-10-01 15:49:56 -07:00
escape-char.cc Move DebugChar into its own file 2024-03-28 15:54:12 -07:00
escape-char.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
escape-string.cc Add EscapeStringOptions and escapeString tests 2024-04-03 16:25:54 +00:00
escape-string.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
exit.cc :quit in the debugger should quit the whole program 2024-03-09 10:17:26 -07:00
exit.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
experimental-features-json.hh HOT SALE: 15% off your build times! 2024-03-27 03:52:57 +00:00
experimental-features.cc Remove readline support 2024-09-16 10:48:20 -07:00
experimental-features.hh libutil: Optimize feature checks 2024-08-18 16:56:49 +00:00
file-descriptor.cc Split ignoreException to avoid suppressing CTRL-C 2024-10-01 15:49:56 -07:00
file-descriptor.hh libutil: rename and optimize closeMostFDs 2024-08-09 19:59:17 +00:00
file-system.cc Split ignoreException to avoid suppressing CTRL-C 2024-10-01 15:49:56 -07:00
file-system.hh Merge changes Ia1481da4,Ifca1d74d into main 2024-09-14 19:26:08 +00:00
finally.hh treewide: fix a bunch of lints 2024-08-26 16:13:03 -07:00
fmt.cc build-time: hide boost stacktrace in a .cc file 2024-08-28 09:55:09 -07:00
fmt.hh fmt: fail hard on bad format strings going into nix::fmt too 2024-09-25 15:20:48 -07:00
generator.hh libutil: generator type with on-yield value mapping 2024-07-03 11:46:53 +00:00
git.cc Fix the parsing of the sourcehut refs file 2022-05-04 14:38:59 +02:00
git.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
hash.cc tree-wide: shuffle headers around for about 30s compile time 2024-08-28 09:55:05 -07:00
hash.hh refactor: make HashType and Base enum classes for type safety 2024-08-08 14:53:17 -07:00
hilite.cc Fix incorrect comment in hiliteMatches 2022-06-05 20:30:18 +02:00
hilite.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
input-accessor.hh util.{hh,cc}: Split out file-system.{hh,cc} 2024-05-29 09:54:47 +02:00
json-impls.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
json-utils.cc Fix derivation load assertion errors 2023-08-05 01:34:30 +02:00
json-utils.hh fix: nlohmann::adl_serializer for std::optional (#9147) 2024-03-04 07:11:25 +01:00
lix-util.pc.in packaging: rename nixexpr -> lixexpr and so on 2024-05-23 16:45:23 -06:00
logging-json.hh HOT SALE: 15% off your build times! 2024-03-27 03:52:57 +00:00
logging.cc Split ignoreException to avoid suppressing CTRL-C 2024-10-01 15:49:56 -07:00
logging.hh libutil: make basic loggers thread-safe 2024-07-20 12:33:49 +00:00
lru-cache.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
meson.build libutil: add async collection mechanism 2024-09-26 16:56:08 +00:00
monitor-fd.hh daemon: remove workaround for macOS kernel bug that seems fixed 2024-07-13 01:17:14 +02:00
mount.cc libutil: Add bindPath function from libstore 2024-07-27 19:40:40 +00:00
mount.hh libutil: Add bindPath function from libstore 2024-07-27 19:40:40 +00:00
namespaces.cc libutil: return Pid from startProcess, not pid_t 2024-06-23 11:52:49 +00:00
namespaces.hh util.{hh,cc}: Split out namespaces.{hh,cc} 2024-05-29 11:41:16 +02:00
notifying-counter.hh libstore: use notifications for stats counters 2024-08-30 19:01:30 +02:00
pool.hh Revert "libutil: drop Pool resources on exceptional free" 2024-04-05 20:13:02 +00:00
position.cc match line endings used by parser and error reports 2024-03-18 16:12:46 +01:00
position.hh match line endings used by parser and error reports 2024-03-18 16:12:46 +01:00
print-elided.cc Move escapeString to its own file 2024-03-29 16:26:29 -07:00
print-elided.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
processes.cc tree-wide: shuffle headers around for about 30s compile time 2024-08-28 09:55:05 -07:00
processes.hh fix building with Musl, fixing static builds 2024-07-24 17:21:40 +00:00
ref.hh add and fix -Wdeprecated-copy 2024-05-09 13:02:45 +00:00
references.cc libutil: rewrite RewritingSink as source 2024-07-11 11:39:18 +00:00
references.hh libutil: rewrite RewritingSink as source 2024-07-11 11:39:18 +00:00
regex-combinators.hh util.{hh,cc}: Split out strings.{hh,cc} 2024-05-29 11:01:34 +02:00
regex.cc tree-wide: shuffle headers around for about 30s compile time 2024-08-28 09:55:05 -07:00
regex.hh gc: Find roots using libproc on Darwin 2024-04-25 23:24:21 -04:00
repair-flag.hh Merge pull request #9634 from 9999years/combine-abstract-pos-and-pos 2024-03-05 23:46:18 -07:00
result.hh libutil: add a result type using boost outcome 2024-09-08 01:57:48 +00:00
serialise.cc Split ignoreException to avoid suppressing CTRL-C 2024-10-01 15:49:56 -07:00
serialise.hh Split ignoreException to avoid suppressing CTRL-C 2024-10-01 15:49:56 -07:00
shlex.cc tree-wide: fix various lint warnings 2024-08-04 20:55:45 -07:00
shlex.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
signals.cc libstore: check for interrupts in parallel promise 2024-10-05 19:06:59 +00:00
signals.hh libstore: check for interrupts in parallel promise 2024-10-05 19:06:59 +00:00
source-path.cc tree-wide: shuffle headers around for about 30s compile time 2024-08-28 09:55:05 -07:00
source-path.hh libstore: convert dumpPath to a generator 2024-07-05 22:28:16 +00:00
split.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
strings.cc tree-wide: fix a pile of lints 2024-08-08 14:53:17 -07:00
strings.hh Expand comment on std::string operator+ 2024-09-01 15:10:31 -07:00
suggestions.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
suggestions.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
sync.hh libutil: tidy Sync and fix its move constructor 2024-06-18 15:11:31 -07:00
tarfile.cc tree-wide: automated migration to charptr_cast 2024-08-08 14:53:17 -07:00
tarfile.hh TarArchive: Remove a duplicate constant and increase the buffer size 2023-04-25 16:43:10 +02:00
terminal.cc fix: check if it is a Real terminal, not just if it is a terminal 2024-08-10 16:07:21 -07:00
terminal.hh fix: check if it is a Real terminal, not just if it is a terminal 2024-08-10 16:07:21 -07:00
thread-pool.cc Split ignoreException to avoid suppressing CTRL-C 2024-10-01 15:49:56 -07:00
thread-pool.hh treewide: fix a bunch of lints 2024-08-26 16:13:03 -07:00
topo-sort.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
types.hh tree-wide: shuffle headers around for about 30s compile time 2024-08-28 09:55:05 -07:00
unix-domain-socket.cc libutil: give Pid proper resource semantics 2024-06-23 11:52:49 +00:00
unix-domain-socket.hh util.{hh,cc}: Split out unix-domain-socket.{hh,cc} 2024-05-29 11:01:34 +02:00
url-name.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
url-name.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
url-parts.hh Reject fully-qualified URLs in 'from' argument of nix registry add 2024-06-29 05:11:31 +00:00
url.cc tree-wide: fix various lint warnings 2024-08-04 20:55:45 -07:00
url.hh treewide: fix a bunch of lints 2024-08-26 16:13:03 -07:00
users.cc Fix comment in getHome 2024-08-23 15:15:21 -07:00
users.hh util.{hh,cc}: Split out users.{hh,cc} 2024-05-29 11:01:34 +02:00
variant-wrapper.hh treewide: fix a bunch of lints 2024-08-26 16:13:03 -07:00
xml-writer.cc xml-writer: Remove std aliases 2022-02-25 16:13:02 +01:00
xml-writer.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00