Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | alloc: New header for memory allocation utilities | Tavian Barnes | 2023-06-20 | 19 | -183/+243 |
| | |||||
* | bfstd: New xmemdup() function | Tavian Barnes | 2023-06-20 | 3 | -5/+22 |
| | |||||
* | sanity: Suppress unused variable warnings with sanitizers off | Tavian Barnes | 2023-06-20 | 1 | -2/+7 |
| | |||||
* | parse: Shell-escape arguments in diagnostics | Tavian Barnes | 2023-06-16 | 1 | -6/+6 |
| | |||||
* | diag: Shell-escape arguments for argv warnings/errors | Tavian Barnes | 2023-06-16 | 1 | -3/+20 |
| | |||||
* | color: New %pq formatter for shell-escaped strings | Tavian Barnes | 2023-06-16 | 2 | -0/+19 |
| | |||||
* | bfstd: New wordesc() function to shell-escape strings | Tavian Barnes | 2023-06-16 | 2 | -0/+59 |
| | |||||
* | opt: Wait until purity is computed to update facts_when_impure | Tavian Barnes | 2023-06-16 | 1 | -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 path | Tavian Barnes | 2023-06-15 | 1 | -98/+107 |
| | |||||
* | ioq: Use a circular buffer | Tavian Barnes | 2023-06-15 | 1 | -78/+201 |
| | |||||
* | bfstd: Add an aligned_alloc()/posix_memalign() wrapper | Tavian Barnes | 2023-06-14 | 2 | -0/+26 |
| | |||||
* | config: Add macros for false/true sharing sizes | Tavian Barnes | 2023-06-14 | 1 | -0/+23 |
| | |||||
* | parse: Don't default to depth-first when argv[0] is "find" | Tavian Barnes | 2023-06-14 | 1 | -6/+0 |
| | |||||
* | sanity: Make sanitize_[un]init() always a void expression | Tavian Barnes | 2023-06-14 | 1 | -2/+2 |
| | |||||
* | lock: Add missing <string.h> include | Tavian Barnes | 2023-06-13 | 1 | -0/+1 |
| | |||||
* | dir: New bfs_polldir() function for directory readahead | Tavian Barnes | 2023-06-13 | 3 | -22/+80 |
| | |||||
* | eval: Pre-allocate the highest fd | Tavian Barnes | 2023-06-13 | 1 | -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 directories | Tavian Barnes | 2023-06-13 | 6 | -8/+199 |
| | | | | Parallelism is controlled by the new -j flag. | ||||
* | bftw: Implement open file pinning | Tavian Barnes | 2023-06-12 | 1 | -32/+100 |
| | |||||
* | dir: Add a flag to bfs_freedir() to force the fd to stay the same | Tavian Barnes | 2023-06-12 | 4 | -9/+24 |
| | |||||
* | ioq: Implement an async I/O queue | Tavian Barnes | 2023-06-12 | 3 | -0/+379 |
| | |||||
* | xtime: Make lazy tzset() call thread-safe | Tavian Barnes | 2023-06-12 | 1 | -10/+12 |
| | |||||
* | xregex: Initialize Oniguruma thread-safely | Tavian Barnes | 2023-06-12 | 1 | -16/+24 |
| | |||||
* | stat: Make syscall support checks thread-safe | Tavian Barnes | 2023-06-12 | 1 | -6/+7 |
| | |||||
* | fsade: Make syscall support checks thread-safe | Tavian Barnes | 2023-06-12 | 1 | -6/+7 |
| | |||||
* | atomic: Add shorthands for explicit atomic operations | Tavian Barnes | 2023-06-12 | 2 | -0/+86 |
| | |||||
* | lock: Add wrappers for POSIX synchronization primitives | Tavian Barnes | 2023-06-12 | 2 | -0/+85 |
| | |||||
* | eval: For -ls, track the longest user/group names to keep alignment | Tavian Barnes | 2023-06-08 | 1 | -20/+26 |
| | |||||
* | eval: Print non-path -ls text in the "normal" color, like ls -l | Tavian Barnes | 2023-06-08 | 1 | -1/+6 |
| | |||||
* | color: `fi=0` should not fall back to `no` | Tavian Barnes | 2023-06-08 | 1 | -4/+4 |
| | |||||
* | main: Add some missing headers to the overview | Tavian Barnes | 2023-05-25 | 1 | -0/+3 |
| | |||||
* | fsade: Add missing #include "sanity.h" | Tavian Barnes | 2023-05-25 | 1 | -0/+1 |
| | |||||
* | sanity: Add wrappers for sanitizer interfaces | Tavian Barnes | 2023-05-25 | 7 | -36/+110 |
| | |||||
* | list: Allow popping from an empty list | Tavian Barnes | 2023-05-24 | 2 | -17/+6 |
| | |||||
* | list: Return the removed item from SLIST_POP() | Tavian Barnes | 2023-05-20 | 3 | -12/+19 |
| | |||||
* | Switch from assert() to bfs_assert()/bfs_verify() | Tavian Barnes | 2023-05-18 | 12 | -66/+57 |
| | |||||
* | diag: New bfs_verify() and bfs_assert() macros | Tavian Barnes | 2023-05-18 | 1 | -0/+22 |
| | |||||
* | Use bfs_bug("...") over assert(!"...") | Tavian Barnes | 2023-05-18 | 7 | -14/+15 |
| | |||||
* | diag: New bfs_abort() and bfs_bug() macros | Tavian Barnes | 2023-05-18 | 2 | -1/+33 |
| | |||||
* | config: Include <stdnoreturn.h> | Tavian Barnes | 2023-05-18 | 1 | -0/+1 |
| | |||||
* | bar: Use USHRT_WIDTH | Tavian Barnes | 2023-05-18 | 1 | -2/+2 |
| | |||||
* | trie: Use SIZE_WIDTH | Tavian Barnes | 2023-05-18 | 1 | -6/+6 |
| | |||||
* | bit: Rename int.h to bit.h | Tavian Barnes | 2023-05-18 | 2 | -4/+4 |
| | |||||
* | Use SYS_* instead of __NR_* | Tavian Barnes | 2023-05-16 | 2 | -3/+3 |
| | |||||
* | config: Align after saturating in flex_sizeof() | Tavian Barnes | 2023-05-16 | 1 | -2/+9 |
| | | | | | This ensures that it's legal to call aligned_alloc() with the result, which requires a multiple of the alignment. | ||||
* | trie: Use standard bit utilities | Tavian Barnes | 2023-05-16 | 1 | -44/+15 |
| | |||||
* | int: Backport C23's bit utilities | Tavian Barnes | 2023-05-16 | 1 | -0/+187 |
| | |||||
* | trie: Use ENDIAN_* and bswap() | Tavian Barnes | 2023-05-16 | 1 | -7/+3 |
| | |||||
* | int: Backport C23's endian utilities | Tavian Barnes | 2023-05-16 | 1 | -0/+68 |
| | |||||
* | trie: Use the _WIDTH macros | Tavian Barnes | 2023-05-16 | 1 | -5/+6 |
| |