lix/src/libutil
eldritch horrors 0109368c3f libutil: make basic loggers thread-safe
SimpleLogger is not fully thread-safe, and all loggers that wrap it are
also not safe accordingly. this does not affect much, but in rare cases
it can cause interleaving of messages on stderr when used with the json
or raw log formats. the fix applied here is a bit of a hack, but fixing
this properly requires rearchitecting the logger infrastructure. nested
loggers are not the most natural abstraction here, and it is biting us.

Change-Id: Ifbf34fe1e85c60e73b59faee50e7411c7b5e7c12
2024-07-20 12:33:49 +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
archive.cc libstore: rewrite the nar parser as a contents generator 2024-07-16 00:57:42 +00:00
archive.hh libstore: rewrite the nar parser as a contents generator 2024-07-16 00:57:42 +00:00
args.cc libutil: fix args assert being thrown on Darwin in nix-eval-jobs 2024-05-31 12:17:06 +00:00
args.hh libutil: fix args assert being thrown on Darwin in nix-eval-jobs 2024-05-31 12:17:06 +00: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
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 libutil: remove makeDecompressionSink 2024-07-11 11:39:18 +00: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
config-impl.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
config.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
config.hh chore: rebrand Nix to Lix when it makes sense 2024-06-01 20:31:24 +02:00
current-process.cc Remove 100s of CPU time (10%) from build times (1465s -> 1302s) 2024-05-29 22:16:15 -07:00
current-process.hh util.{hh,cc}: Split out current-process.{hh,cc} 2024-05-29 11:01:34 +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 util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
error.hh libmain: fix UB in verbosity assignment 2024-06-18 19:26:54 -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 chore: rebrand Nix to Lix when it makes sense 2024-06-01 20:31:24 +02:00
experimental-features.hh HOT SALE: 15% off your build times! 2024-03-27 03:52:57 +00:00
file-descriptor.cc libutil: convert drainFD to a Bytes generator 2024-07-03 11:46:53 +00:00
file-descriptor.hh libutil: convert drainFD to a Bytes generator 2024-07-03 11:46:53 +00:00
file-system.cc libutil: implement a realPath() utility 2024-07-15 15:26:53 -06:00
file-system.hh libutil: implement a realPath() utility 2024-07-15 15:26:53 -06:00
finally.hh libutil: guard Finally against invalid exception throws 2024-04-05 20:13:02 +00:00
fmt.hh libutil: Set boost defines for FreeBSD 2024-06-16 03:41:15 +00: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 libutil: convert readFileSource to a generator 2024-07-05 22:28:16 +00:00
hash.hh libutil: turn HashModuloSink into a free function 2024-07-06 12:36:37 +02: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 libutil: make basic loggers thread-safe 2024-07-20 12:33:49 +00: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 checked arithmetic tools 2024-07-13 00:56:37 +02:00
monitor-fd.hh daemon: remove workaround for macOS kernel bug that seems fixed 2024-07-13 01:17:14 +02: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
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 libutil: return sources from runProgram2 2024-07-06 12:36:36 +02:00
processes.hh libutil: return sources from runProgram2 2024-07-06 12:36:36 +02: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 gc: Find roots using libproc on Darwin 2024-04-25 23:24:21 -04: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
serialise.cc remove boost coroutine references 2024-07-16 01:50:16 +00:00
serialise.hh remove sourceToSink, sinkToSource, and boehm patch 2024-07-16 01:50:16 +00:00
shlex.cc util.{hh,cc}: Split out strings.{hh,cc} 2024-05-29 11:01:34 +02:00
shlex.hh pragma once and ///@file everything missing it 2024-04-08 15:40:12 -07:00
signals.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
signals.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
source-path.cc Fix various clang-tidy lints 2024-03-29 20:26:38 -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 libutil: rewrite RewritingSink as source 2024-07-11 11:39:18 +00:00
strings.hh Remove 100s of CPU time (10%) from build times (1465s -> 1302s) 2024-05-29 22:16:15 -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 util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
tarfile.hh TarArchive: Remove a duplicate constant and increase the buffer size 2023-04-25 16:43:10 +02:00
terminal.cc util.{hh,cc}: Split out terminal.{hh,cc} 2024-05-29 09:54:47 +02:00
terminal.hh util.{hh,cc}: Split out terminal.{hh,cc} 2024-05-29 09:54:47 +02:00
thread-pool.cc util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02:00
thread-pool.hh util.hh: Delete remaining file and clean up headers 2024-05-29 12:38:51 +02: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 libutil: add Bytes type 2024-07-03 11:46:53 +00: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 Reject fully-qualified URLs in 'from' argument of nix registry add 2024-06-29 05:11:31 +00:00
url.hh Ensure all headers have #pragma once and are in API docs 2023-03-31 23:19:44 -04:00
users.cc util.{hh,cc}: Split out users.{hh,cc} 2024-05-29 11:01:34 +02:00
users.hh util.{hh,cc}: Split out users.{hh,cc} 2024-05-29 11:01:34 +02:00
variant-wrapper.hh Fixing #7479 2023-08-18 11:44:00 -04: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