[libc] Move linux signal mask helpers into OSUtil/sigmask.h (#232647)
Move internal signal set and mask helpers (full_set, empty_set, add,
remove, block_all, set_mask, etc.) out of signal_utils.h and into a new
src/__support/OSUtil/linux/sigmask.h header under the signals namespace.
This allows other low-level OS utilities and entrypoints to manipulate
signal masks without pulling in signal_utils.h (defined under
src/signal).
The rest of signal_utils.h should also move, but I'm leaving that for a
separate PR (and a separate file) because the rest of the file has more
dependencies (RwLock, vdso, __restore_rt), and interacts with more
components.
Along with the move:
- fix full_set() on 32-bit systems: sigset_t{{-1UL}} only set the first
word, leaving real-time signals unmasked. Now we loop over __signals.
- rename the helpers to shorter names within the signals namespace
(add_signal -> add, delete_signal -> remove, restore_signals ->
set_mask, etc.) and update existing callers in signal_utils,
abort_utils, sigaddset, sigdelset, sigemptyset, and sigfillset.
- add block and get_mask helpers and migrate call sites in
sigsetjmp_epilogue and system.
Assisted-by: Gemini
NOKEYCHECK=True
GitOrigin-RevId: 5170cd8d92469ce76994825fcad4cde7162c32ff
14 files changed