Messages in this thread | | | Date | Thu, 21 Apr 2011 22:00:06 +0200 | From | Oleg Nesterov <> | Subject | Re: [path][rfc] add PR_DETACH prctl command [2/2] |
| |
On 04/21, Stas Sergeev wrote: > 20.04.2011 23:33, Oleg Nesterov wrote: > >> I still do not understand the point of PR_DETACH. Why do you think it is >> needed without reparenting? OK, I do not really care ;) > Hmm, but that's really interesting, I wonder why do > you ask this.
Because I do not understand why do we need this feature. And I strongly dislike the complications this (wrong) patch adds.
> In my eyes, the reparenting was just a > "trick",
Sure, I din't like the previous semantics too.
Once again, last time... No need to convince me. Please convince someone who can ack this hack authoritatively. I can't anyway. And I'm afraid nobody except Linus can decide whether we need it or not.
From my side - nack. What can I do if I do not agree with you?
>>>> And. To hide the pr_detached task from do_wait(). you changed >>>> do_notify_parent() to returnd DEATH_REAP. >>> No, its hidden by the check in wait_consider_task(). >>> do_notify_parent() was changed only to not allow the >>> second notification to the same parent. >> Not only. Please look at your own code ;) wait_consider_task() checks >> exit_state == EXIT_ZOMBIE before p->pr_detached, and thus do_notify_parent() >> haas to return DEATH_REAP so that the caller will set EXIT_DEAD. Otherwise >> the old parent could see EXIT_ZOMBIE&& pr_detached task again. > Yes, but that's not to hide from do_wait(). > At least as far as I understand, exit_notify() does > release_task() in this case, so that's not hiding: I > literally terminate the child this way.
Yes. But there is a window before release_task() does this, we should change task->state.
But I forgot where did we start... perhaps I missed something or meant something else. Perhaps I disliked the fact wait_consider_task() checks EXIT_ZOMBIE before pr_detached... Nevermind.
Oleg.
| |