sys_rt_sigprocmask(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 the sigset_t type. it's a size_t. keep it accurate or the whole thing gets weird ⭐
ngl, keep an eye on which pointer does what β€” nset is the one that stores pending signals and oset is 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