summaryrefslogtreecommitdiffstats
path: root/src/sighook.c
Commit message (Collapse)AuthorAgeFilesLines
* bfstd: New sysoption() macro to check for POSIX option runtime supportTavian Barnes2024-08-091-7/+17
| | | | | | | | | | POSIX allows optional features to be supported at compile time but not necessarily at run time by defining _POSIX_OPTION to 0 and requiring users to check sysconf(_SC_OPTION) > 0. The new sysoption() macro simplifies the check. sighook() and bfs_spawn() now check for conditional runtime support for the relevant POSIX options.
* Update opengroup.org links to POSIX 2024Tavian Barnes2024-08-021-5/+5
|
* prelude: Simplify attributesTavian Barnes2024-07-281-1/+2
|
* sighook: Make sigunhook() O(1)Tavian Barnes2024-07-151-41/+51
|
* sighook: Replace sigtables with RCU-protected linked listsTavian Barnes2024-07-071-148/+68
| | | | | | | | This fixes an ABA problem where sigdispatch() could think no handlers are registered for a signal even when there are. Link: https://unix.stackexchange.com/a/779594/56202 Fixes: 375caac ("sighook: New utilities for hooking signals")
* sighook: Shard the signal tableTavian Barnes2024-06-071-7/+24
|
* sighook: Ignore sigaction() errors in atsigexit()Tavian Barnes2024-06-071-10/+6
| | | | This fixes bfs under Valgrind, which reserves SIGRTMAX for its own use.
* sighook: Check that atomic size_t is lock-freeTavian Barnes2024-06-031-0/+4
|
* sighook: Allow sigunhook(NULL)Tavian Barnes2024-05-251-0/+4
|
* diag: New helpers to include xstrerror(errno) automaticallyTavian Barnes2024-05-171-2/+2
|
* sighook: New utilities for hooking signalsTavian Barnes2024-05-161-0/+600
This allows multiple hooks to be installed for a single signal.