On Sun, Nov 09, 2025 at 06:15:33PM +0100, Oleg Nesterov wrote: ..
static int kill_sub_threads(struct task_struct *tsk) { struct signal_struct *sig = tsk->signal; int err = -EINTR;
read_lock(&tasklist_lock); spin_lock_irq(&tsk->sighand->siglock); if (!((sig->flags & SIGNAL_GROUP_EXIT) || sig->group_exec_task)) { sig->group_exec_task = tsk; sig->notify_count = -zap_other_threads(tsk);
Hi Oleg! I somehow manage to miss a moment -- why negative result here?
err = 0;} spin_unlock_irq(&tsk->sighand->siglock); read_unlock(&tasklist_lock);
return err; }
p.s. i've dropped long CC but left ML intact)
Cyrill