The three dispositions, installed side by side
The three dispositions, installed side by side
Answer
signal(SIGHUP, SIG_IGN); signal(SIGINT, on_int); signal(SIGQUIT, SIG_DFL); signal(SIGALRM, on_alrm);
One line per disposition: ignore, catch, take the kernel default, catch. SIG_IGN and SIG_DFL are not function addresses — they are reserved values the kernel recognises. Adding a fifth line for SIGKILL would compile and then fail at run time.
S&K 3e ch19 §19.5; signal names and default actions per POSIX.1-2024 <signal.h>