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 Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers