Re: heavy handed exit() in latest BK

Linus Torvalds (torvalds@transmeta.com)
Mon, 10 Feb 2003 07:22:31 -0800 (PST)


On Mon, 10 Feb 2003, Ingo Molnar wrote:
>
> > Interesting. Especially as the last thing exit_notify() does (just a few
> > lines above the schedule()) is to do
> >
> > tsk->state = TASK_ZOMBIE;
> >
> > and that schedule() _really_ really shouldn't return. Regardless of any
> > signal handler changes.
>
> the proper way to avoid such scenarios (besides removing tasks from all
> waitqueues) is to remove the thread from all the PID-hashes prior setting
> it to TASK_ZOMBIE.

Not a good idea.

We still want to find zombie processes, since they show up in "ps"
listings etc. And I don't think sending a signal to a zombie process
should return ESRCH, since it's there.

Btw, I fixed it by making all wake-up events give a mask of which states
can be woken up. That's really what SIGCONT wanted anyway (only wake up
stopped tasks), _and_ it's what default_wake_function() really wanted.

Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/