summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* bfstd: Add a getprogname() wrapperTavian Barnes2023-06-243-11/+24
|
* Unify macro naming conventionsTavian Barnes2023-06-2410-70/+72
| | | | | In particular, macros that decide whether to use a particular API/ dependency should be spelled BFS_USE_*, and should be configurable.
* tests/gnu/printf_times: Correct %T@ to %A@Tavian Barnes2023-06-221-1/+1
|
* diag: New bfs_loc type for source locationsTavian Barnes2023-06-222-14/+48
|
* dir: Arena-allocate directoriesTavian Barnes2023-06-206-51/+110
|
* ioq: Arena-allocate ioq_cmdTavian Barnes2023-06-201-3/+8
|
* trie: Arena-allocate nodes and leavesTavian Barnes2023-06-202-34/+36
|
* bftw: Arena-allocate struct bftw_fileTavian Barnes2023-06-201-5/+11
|
* alloc: Implement an arena for flexible structsTavian Barnes2023-06-203-1/+223
|
* alloc: Implement an arena allocatorTavian Barnes2023-06-202-0/+155
|
* alloc: New header for memory allocation utilitiesTavian Barnes2023-06-2022-195/+271
|
* bfstd: New xmemdup() functionTavian Barnes2023-06-203-5/+22
|
* sanity: Suppress unused variable warnings with sanitizers offTavian Barnes2023-06-201-2/+7
|
* ci: Set CC=clang16 on FreeBSDTavian Barnes2023-06-201-1/+1
| | | | Workaround for https://github.com/llvm/llvm-project/issues/58740
* build: Turn off ASLR for all sanitizers on FreeBSDTavian Barnes2023-06-201-1/+1
| | | | | | | | Newer LLVM versions will reject every sanitizer runtime if ASLR is enabled. Link: https://reviews.llvm.org/D66582 Link: https://reviews.freebsd.org/D33933
* parse: Shell-escape arguments in diagnosticsTavian Barnes2023-06-161-6/+6
|
* diag: Shell-escape arguments for argv warnings/errorsTavian Barnes2023-06-161-3/+20
|
* color: New %pq formatter for shell-escaped stringsTavian Barnes2023-06-162-0/+19
|
* bfstd: New wordesc() function to shell-escape stringsTavian Barnes2023-06-162-0/+59
|
* opt: Wait until purity is computed to update facts_when_impureTavian Barnes2023-06-161-4/+2
| | | | | | | | | | | Since we moved purity out of the parser, side-effect detection has been unnecessarily pessimistic due to this bug. The fix restores warnings in cases like $ bfs -false bfs: warning: This command won't do anything. Fixes: 693b5f60dc9787d9237920cc0c87fe0e010194ee
* ioq: Implement a non-blocking fast pathTavian Barnes2023-06-151-98/+107
|
* ioq: Use a circular bufferTavian Barnes2023-06-151-78/+201
|
* bfstd: Add an aligned_alloc()/posix_memalign() wrapperTavian Barnes2023-06-142-0/+26
|
* config: Add macros for false/true sharing sizesTavian Barnes2023-06-141-0/+23
|
* parse: Don't default to depth-first when argv[0] is "find"Tavian Barnes2023-06-141-6/+0
|
* sanity: Make sanitize_[un]init() always a void expressionTavian Barnes2023-06-141-2/+2
|
* lock: Add missing <string.h> includeTavian Barnes2023-06-131-0/+1
|
* dir: New bfs_polldir() function for directory readaheadTavian Barnes2023-06-133-22/+80
|
* eval: Pre-allocate the highest fdTavian Barnes2023-06-131-0/+18
| | | | | | This avoids the need to grow the fd table during the search, significantly reducing kernel contention when opening directories in parallel.
* bftw: Use an I/O queue to open directoriesTavian Barnes2023-06-137-9/+206
| | | | Parallelism is controlled by the new -j flag.
* bftw: Implement open file pinningTavian Barnes2023-06-121-32/+100
|
* dir: Add a flag to bfs_freedir() to force the fd to stay the sameTavian Barnes2023-06-124-9/+24
|
* ioq: Implement an async I/O queueTavian Barnes2023-06-124-0/+380
|
* ci: Use macOS 13Tavian Barnes2023-06-121-1/+1
|
* xtime: Make lazy tzset() call thread-safeTavian Barnes2023-06-121-10/+12
|
* xregex: Initialize Oniguruma thread-safelyTavian Barnes2023-06-121-16/+24
|
* stat: Make syscall support checks thread-safeTavian Barnes2023-06-121-6/+7
|
* fsade: Make syscall support checks thread-safeTavian Barnes2023-06-121-6/+7
|
* atomic: Add shorthands for explicit atomic operationsTavian Barnes2023-06-122-0/+86
|
* lock: Add wrappers for POSIX synchronization primitivesTavian Barnes2023-06-123-1/+87
|
* build: Update to C17Tavian Barnes2023-06-121-1/+1
| | | | This lets us avoid ATOMIC_VAR_INIT().
* build: Add tsan to distcheckTavian Barnes2023-06-121-0/+4
|
* eval: For -ls, track the longest user/group names to keep alignmentTavian Barnes2023-06-081-20/+26
|
* eval: Print non-path -ls text in the "normal" color, like ls -lTavian Barnes2023-06-081-1/+6
|
* color: `fi=0` should not fall back to `no`Tavian Barnes2023-06-089-4/+88
|
* main: Add some missing headers to the overviewTavian Barnes2023-05-251-0/+3
|
* fsade: Add missing #include "sanity.h"Tavian Barnes2023-05-251-0/+1
|
* sanity: Add wrappers for sanitizer interfacesTavian Barnes2023-05-257-36/+110
|
* list: Allow popping from an empty listTavian Barnes2023-05-242-17/+6
|
* list: Return the removed item from SLIST_POP()Tavian Barnes2023-05-203-12/+19
|