Messages in this thread | | | Date | Mon, 10 Feb 2003 07:22:31 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: heavy handed exit() in latest BK |
| |
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/
| |