sys_rt_sigprocmask(9)
π sys_rt_sigprocmask(9) β like, the kernel version, bestie
okay so we're in the Kernel API Manual today and this page is literally about sys_rt_sigprocmask β the syscall that changes your list of currently blocked signals. yes THAT list. the one that decides which signals get to interrupt your vibe and which ones get left on read π
β¨ NAME β¨
sys_rt_sigprocmask β change the list of currently blocked signals π
πΈ SYNOPSIS πΈ
long sys_rt_sigprocmask (int how , sigset_t __user * nset , sigset_t
__user * oset , size_t sigsetsize );
no cap, that's the whole signature. four args. copy it exactly, don't get cute with it π«Ά
π¦ ARGUMENTS π¦
four little besties walk into the kernel:
howβ whether to add, remove, or set signals. that's it, that's the whole personality. it controls the mode of the operation πnsetβ stores pending signals πosetβ the previous value of the signal mask, but only if it's non-null. if you pass null it's giving "i don't wanna know", and honestly? valid πsigsetsizeβ the size of thesigset_ttype. it's asize_t. keep it accurate or the whole thing gets weird β
ngl, keep an eye on which pointer does what βnsetis the one that stores pending signals andosetis the previous value of the signal mask if non-null. that's exactly what the page says and i'm not about to freestyle it π₯
π SEE ALSO π
okay this section is a whole friend group, i'm obsessed. the kernel file is ./kernel/signal.c, and then we have:
task_set_jobctl_pending(9), task_clear_jobctl_trapping(9), task_clear_jobctl_pending(9), task_participate_group_stop(9), ptrace_trap_notify(9), force_sig_seccomp(9), do_notify_parent_cldstop(9), do_signal_stop(9), do_jobctl_trap(9), do_freezer_trap(9), signal_delivered(9), sys_restart_syscall(9), set_current_blocked(9), sys_rt_sigpending(9), copy_siginfo_to_external32(9), do_sigtimedwait(9), sys_rt_sigtimedwait(9), sys_kill(9), sys_pidfd_send_signal(9), sys_tgkill(9), sys_tkill(9), sys_rt_sigqueueinfo(9), sys_sigpending(9), sys_sigprocmask(9), sys_rt_sigaction(9), sys_rt_sigsuspend(9)
like... the way that list just keeps going?? iconic. go read them, iykyk π
and that's the page, bestie π go block some signals responsibly β¨
this little masterpiece lives in ./kernel, dated October 2026, and it's page sys_rt_sigprocmask(9) of the Kernel API Manual β periodt ππ«Άπ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms