Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | ci/diag.sh: Try to make sed unbuffered | Tavian Barnes | 2025-02-03 | 1 | -1/+6 |
| | |||||
* | ci/diag.sh: Simplify sed expression | Tavian Barnes | 2025-01-27 | 1 | -2/+1 |
| | |||||
* | ci: Update to NetBSD 10.1 | Tavian Barnes | 2025-01-27 | 1 | -1/+1 |
| | |||||
* | build(deps): bump cross-platform-actions/action from 0.26.0 to 0.27.0 | dependabot[bot] | 2025-01-27 | 1 | -3/+3 |
| | | | | | | | | | | | | | | | Bumps [cross-platform-actions/action](https://github.com/cross-platform-actions/action) from 0.26.0 to 0.27.0. - [Release notes](https://github.com/cross-platform-actions/action/releases) - [Changelog](https://github.com/cross-platform-actions/action/blob/master/changelog.md) - [Commits](https://github.com/cross-platform-actions/action/compare/v0.26.0...v0.27.0) --- updated-dependencies: - dependency-name: cross-platform-actions/action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> | ||||
* | ci: Add an Arm64 Linux job | Tavian Barnes | 2025-01-23 | 1 | -3/+34 |
| | |||||
* | ci: Remove mmap_rnd_bits workaround | Tavian Barnes | 2025-01-23 | 1 | -2/+0 |
| | | | | Link: https://github.com/actions/runner-images/issues/9524#issuecomment-2002065399 | ||||
* | ci: Update to macos-15 | Tavian Barnes | 2025-01-23 | 1 | -4/+2 |
| | |||||
* | tests/sighook: Fix Valgrind compatibility | Tavian Barnes | 2025-01-21 | 1 | -39/+43 |
| | | | | | | | | | | | | | | | | | | | | Valgrind does not deliver async signals in a timely manner; by default, it polls for new signals every 1,000 basic blocks. That means we can get SIGALRM delivered after timer_delete(), or kill(SIGSEGV) never delivered after pause(). Fix the timer_delete() issue by reordering the cleanup path. Valgrind always polls pending signals after pthread_sigmask(), so call that between timer_delete() and sigunhook(). Fix the pause() issue by sleeping in a loop instead. Note that --fair-sched=yes is required to avoid starvation of the background thread. Link: https://bugs.kde.org/show_bug.cgi?id=492678 Link: https://bugs.kde.org/show_bug.cgi?id=343357 Link: https://bugs.kde.org/show_bug.cgi?id=498936 | ||||
* | sighook: Fix sigreset() error handling | Tavian Barnes | 2025-01-20 | 1 | -9/+16 |
| | |||||
* | Release 4.0.54.0.5 | Tavian Barnes | 2025-01-18 | 4 | -4/+22 |
| | |||||
* | tests: Add a test for sigmask restoration | Tavian Barnes | 2025-01-18 | 2 | -0/+5 |
| | |||||
* | sighook: Don't forget to check `initialized` in sigreset() | Tavian Barnes | 2025-01-18 | 1 | -0/+4 |
| | |||||
* | sighook: Fix up siginit() error paths | Tavian Barnes | 2025-01-18 | 1 | -8/+14 |
| | |||||
* | xspawn: Unblock signals between fork() and exec() | Tavian Barnes | 2025-01-18 | 1 | -2/+15 |
| | | | | | | Otherwise the child process runs with all signals blocked. Fixes: 423cfa4 ("xspawn: Mask signals before fork()") | ||||
* | sighook: New sigreset() function to reset all handlers | Tavian Barnes | 2025-01-18 | 2 | -3/+45 |
| | |||||
* | sighook: Convert siglist to a more general rcu_list type | Tavian Barnes | 2025-01-18 | 1 | -52/+66 |
| | |||||
* | build: Feature-detect #pragma nounroll support | Tavian Barnes | 2025-01-17 | 3 | -2/+13 |
| | |||||
* | list: Don't use leading underscores for globals | Tavian Barnes | 2025-01-16 | 1 | -6/+6 |
| | |||||
* | ioq: Don't unroll the spin loop | Tavian Barnes | 2025-01-16 | 2 | -1/+15 |
| | |||||
* | ioq: Prefetch slots with a write intent | Tavian Barnes | 2025-01-16 | 1 | -1/+1 |
| | |||||
* | build: Check for compound literal storage-class support | Tavian Barnes | 2025-01-07 | 3 | -1/+8 |
| | | | | This lets us use them on GCC >= 13, even before C23. | ||||
* | configure: Suggest --enable-release over RELEASE=y etc. | Tavian Barnes | 2025-01-07 | 1 | -0/+19 |
| | |||||
* | configure: Reduce redundant info in CONFFLAGS for bfs --version | Tavian Barnes | 2025-01-07 | 1 | -1/+8 |
| | |||||
* | sighook: Add some missing fatal signals | Tavian Barnes | 2024-12-24 | 1 | -5/+14 |
| | |||||
* | sighook: Preserve the exact siginfo_t in reraise() on Linux | Tavian Barnes | 2024-12-24 | 1 | -3/+16 |
| | | | | Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=66dd34ad31e5963d72a700ec3f2449291d322921 | ||||
* | sighook: Always re-raise faults on macOS | Tavian Barnes | 2024-12-22 | 2 | -0/+11 |
| | | | | | | | | | | macOS always fills in si_code for SIG{BUS,ILL,SEGV} as if it were a real hardware fault, so returning from the handler is not guaranteed to re- trigger the signal. Fixes: aecdabb ("sighook: Return instead of re-raising for faults") Link: https://chromium-review.googlesource.com/c/crashpad/crashpad/+/2386463/4/util/posix/signals_test.cc Link: https://github.com/chromium/crashpad/commit/e0d8a0aa01ac176804077f1f128ccc894c098f79 | ||||
* | tests/sighook: Add missing #include <sys/wait.h> | Tavian Barnes | 2024-12-19 | 1 | -2/+3 |
| | |||||
* | tests/gnu: Add an -ignore_readdir_race test for removed directories | Tavian Barnes | 2024-12-17 | 2 | -0/+7 |
| | | | | Link: https://savannah.gnu.org/bugs/index.php?45930 | ||||
* | tests/sighook: Add atsigexit() tests | Tavian Barnes | 2024-12-17 | 1 | -1/+77 |
| | |||||
* | sanity: New sanitize_resize() function | Tavian Barnes | 2024-12-16 | 2 | -16/+33 |
| | | | | | This wraps __sanitizer_annotate_contiguous_container() to give byte-precise tracking of usable allocation sizes with ASan. | ||||
* | sanity: Get rid of sanitize_ignore() | Tavian Barnes | 2024-12-16 | 2 | -11/+6 |
| | | | | | It's probably nicer to avoid evaluating expensive arguments when not sanitizing, rather than relying on the optimizer to clean them up. | ||||
* | ci: Update VM versions | Tavian Barnes | 2024-12-10 | 1 | -3/+3 |
| | |||||
* | build(deps): bump cross-platform-actions/action from 0.25.0 to 0.26.0 | dependabot[bot] | 2024-12-09 | 1 | -3/+3 |
| | | | | | | | | | | | | | | | Bumps [cross-platform-actions/action](https://github.com/cross-platform-actions/action) from 0.25.0 to 0.26.0. - [Release notes](https://github.com/cross-platform-actions/action/releases) - [Changelog](https://github.com/cross-platform-actions/action/blob/master/changelog.md) - [Commits](https://github.com/cross-platform-actions/action/compare/v0.25.0...v0.26.0) --- updated-dependencies: - dependency-name: cross-platform-actions/action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> | ||||
* | docs/bfs.1: Add copyright comments | Tavian Barnes | 2024-12-04 | 1 | -0/+2 |
| | |||||
* | ioq: Refactor ioq_ring_probe_flags() | Tavian Barnes | 2024-12-04 | 1 | -11/+13 |
| | |||||
* | tests/sighook: Test the SH_ONESHOT flag | Tavian Barnes | 2024-12-04 | 1 | -2/+28 |
| | |||||
* | ioq: Try spinning before blocking in ioq_slot_wait() | Tavian Barnes | 2024-12-03 | 1 | -1/+17 |
| | |||||
* | ioq: Submit and pop requests in batches | Tavian Barnes | 2024-12-03 | 5 | -17/+44 |
| | | | | | The new ioq_submit() function is now necessary to call to ensure the pending request batch is flushed. | ||||
* | ioq: Add more io_uring setup flags | Tavian Barnes | 2024-12-03 | 1 | -20/+55 |
| | |||||
* | ioq: Refactor io_uring submission logic | Tavian Barnes | 2024-12-03 | 1 | -94/+145 |
| | |||||
* | ioq: Use ioq_batch for both pushing and popping | Tavian Barnes | 2024-12-03 | 1 | -47/+84 |
| | |||||
* | ioq: Add a hash function between slots and monitors | Tavian Barnes | 2024-12-03 | 1 | -1/+11 |
| | | | | | | This helps avoid situations where multiple waiters block on different slots using the same monitor, which happened more often than expected due to correlations caused by batching. | ||||
* | ioq: Prefetch pointers before popping them | Tavian Barnes | 2024-12-03 | 2 | -8/+10 |
| | | | | | Also, cache-align struct ioq_ent to avoid false sharing when two workers are handling neighbouring requests. | ||||
* | bench/ioq: New ioq microbenchmark | Tavian Barnes | 2024-12-03 | 2 | -1/+332 |
| | |||||
* | ioq: Add an ioq_nop() operation for benchmarking | Tavian Barnes | 2024-12-02 | 3 | -0/+62 |
| | |||||
* | xtime: New timespec utility functions | Tavian Barnes | 2024-12-02 | 3 | -23/+95 |
| | |||||
* | sighook: New SH_ONESHOT flag | Tavian Barnes | 2024-12-02 | 2 | -1/+21 |
| | |||||
* | bfstd: Add more strto*() wrappers | Tavian Barnes | 2024-12-02 | 2 | -24/+69 |
| | |||||
* | ioq: Set the worker thread names to ioq-%d | Tavian Barnes | 2024-11-27 | 1 | -2/+8 |
| | |||||
* | thread: New thread_setname() function | Tavian Barnes | 2024-11-27 | 5 | -0/+37 |
| |