October 2017
Intermediate to advanced
354 pages
9h 28m
English
The sighand pointer of the task structure refers to an instance of the struct sighand_struct, which is the signal handler descriptor shared by all processes in a thread group. This structure is also shared by all processes created using clone() with the CLONE_SIGHAND flag. This structure holds an array of k_sigaction instances, each wrapping an instance of sigaction that describes the current disposition of each signal:
struct k_sigaction { struct sigaction sa;#ifdef __ARCH_HAS_KA_RESTORER __sigrestore_t ka_restorer;#endif};struct sighand_struct { atomic_t count; struct k_sigaction action[_NSIG]; spinlock_t siglock; wait_queue_head_t signalfd_wqh;};
The following figure represents the signal handler descriptor: ...