summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
|
* tests/bfstd: Use bfs_verify() over explicit abort()Tavian Barnes2023-05-191-14/+5
|
* Switch from assert() to bfs_assert()/bfs_verify()Tavian Barnes2023-05-1815-152/+140
|
* diag: New bfs_verify() and bfs_assert() macrosTavian Barnes2023-05-181-0/+22
|
* build: Error on implicit function declarationsTavian Barnes2023-05-181-0/+1
|
* Use bfs_bug("...") over assert(!"...")Tavian Barnes2023-05-187-14/+15
|
* diag: New bfs_abort() and bfs_bug() macrosTavian Barnes2023-05-182-1/+33
|
* config: Include <stdnoreturn.h>Tavian Barnes2023-05-181-0/+1
|
* bar: Use USHRT_WIDTHTavian Barnes2023-05-181-2/+2
|
* trie: Use SIZE_WIDTHTavian Barnes2023-05-181-6/+6
|
* bit: Rename int.h to bit.hTavian Barnes2023-05-184-6/+6
|
* Use SYS_* instead of __NR_*Tavian Barnes2023-05-162-3/+3
|
* ci: Fix 32-bit Linux dependenciesTavian Barnes2023-05-161-0/+1
|
* build: Fix test utility compilationTavian Barnes2023-05-161-2/+4
|
* config: Align after saturating in flex_sizeof()Tavian Barnes2023-05-162-3/+11
| | | | | This ensures that it's legal to call aligned_alloc() with the result, which requires a multiple of the alignment.
* trie: Use standard bit utilitiesTavian Barnes2023-05-161-44/+15
|
* int: Backport C23's bit utilitiesTavian Barnes2023-05-162-0/+244
|
* trie: Use ENDIAN_* and bswap()Tavian Barnes2023-05-161-7/+3
|
* int: Backport C23's endian utilitiesTavian Barnes2023-05-162-0/+78
|
* trie: Use the _WIDTH macrosTavian Barnes2023-05-161-5/+6
|