Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | bfstd: Add a getprogname() wrapper | Tavian Barnes | 2023-06-24 | 3 | -11/+24 |
| | |||||
* | Unify macro naming conventions | Tavian Barnes | 2023-06-24 | 10 | -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 Barnes | 2023-06-22 | 1 | -1/+1 |
| | |||||
* | diag: New bfs_loc type for source locations | Tavian Barnes | 2023-06-22 | 2 | -14/+48 |
| | |||||
* | dir: Arena-allocate directories | Tavian Barnes | 2023-06-20 | 6 | -51/+110 |
| | |||||
* | ioq: Arena-allocate ioq_cmd | Tavian Barnes | 2023-06-20 | 1 | -3/+8 |
| | |||||
* | trie: Arena-allocate nodes and leaves | Tavian Barnes | 2023-06-20 | 2 | -34/+36 |
| | |||||
* | bftw: Arena-allocate struct bftw_file | Tavian Barnes | 2023-06-20 | 1 | -5/+11 |
| | |||||
* | alloc: Implement an arena for flexible structs | Tavian Barnes | 2023-06-20 | 3 | -1/+223 |
| | |||||
* | alloc: Implement an arena allocator | Tavian Barnes | 2023-06-20 | 2 | -0/+155 |
| | |||||
* | alloc: New header for memory allocation utilities | Tavian Barnes | 2023-06-20 | 22 | -195/+271 |
| | |||||
* | 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 |
| | |||||
* | ci: Set CC=clang16 on FreeBSD | Tavian Barnes | 2023-06-20 | 1 | -1/+1 |
| | | | | Workaround for https://github.com/llvm/llvm-project/issues/58740 | ||||
* | build: Turn off ASLR for all sanitizers on FreeBSD | Tavian Barnes | 2023-06-20 | 1 | -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 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 | 7 | -9/+206 |
| | | | | 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 | 4 | -0/+380 |
| | |||||
* | ci: Use macOS 13 | Tavian Barnes | 2023-06-12 | 1 | -1/+1 |
| | |||||
* | 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 | 3 | -1/+87 |
| | |||||
* | build: Update to C17 | Tavian Barnes | 2023-06-12 | 1 | -1/+1 |
| | | | | This lets us avoid ATOMIC_VAR_INIT(). | ||||
* | build: Add tsan to distcheck | Tavian Barnes | 2023-06-12 | 1 | -0/+4 |
| | |||||
* | 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 | 9 | -4/+88 |
| | |||||
* | 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 |
| |