On 12/24, Sukadev Bhattiprolu wrote:
>
> -static int sig_ignored(struct task_struct *t, int sig)
> +static int sig_task_ignored(struct task_struct *t, int sig)
>  {
>       void __user *handler;
>
> +     handler = sig_handler(t, sig);
> +
> +     if (unlikely(t->signal->flags & SIGNAL_UNKILLABLE) &&
> +                     (handler == SIG_IGN || handler == SIG_DFL))
> +             return 1;
> +     
> +     return sig_handler_ignored(handler, sig);

Well, really minor nit, but can't resist ;)

if we check both SIG_IGN and SIG_DFL, then why do we call
sig_handler_ignored() ? We can do

        if (unlikely(t->signal->flags & SIGNAL_UNKILLABLE))
                return handler == SIG_IGN || handler == SIG_DFL;
        return sig_handler_ignored(handler, sig);

Or, we can do

        if (unlikely(t->signal->flags & SIGNAL_UNKILLABLE) &&
                         handler == SIG_DFL)
                return 1;
        return sig_handler_ignored(handler, sig);

because sig_handler_ignored() checks SIG_IGN too.

Of course, this is a matter of taste only...

Oleg.

_______________________________________________
Containers mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to