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

Reply via email to