函数源码

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source File:kernel\signal.c Create Date:2022-07-27 10:15:02
首页 Copyright©Brick

78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
static bool sig_task_ignored(struct task_struct *t, int sig, bool force)
{
    void __user *handler;
 
    handler = sig_handler(t, sig);
 
    /* SIGKILL and SIGSTOP may not be sent to the global init */
    if (unlikely(is_global_init(t) && sig_kernel_only(sig)))
        return true;
 
    if (unlikely(t->signal->flags & SIGNAL_UNKILLABLE) &&
        handler == SIG_DFL && !(force && sig_kernel_only(sig)))
        return true;
 
    /* Only allow kernel generated signals to this kthread */
    if (unlikely((t->flags & PF_KTHREAD) &&
             (handler == SIG_KTHREAD_KERNEL) && !force))
        return true;
 
    return sig_handler_ignored(handler, sig);
}