Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=241ceee0b442c69226fb882d61d9b9785743898f
Commit:     241ceee0b442c69226fb882d61d9b9785743898f
Parent:     9d572ecbd81b9ff6e6a9bc0d2598212a59eb738a
Author:     Oleg Nesterov <[EMAIL PROTECTED]>
AuthorDate: Sun Dec 24 23:30:44 2006 +0300
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Sun Dec 31 14:41:18 2006 -0800

    [PATCH] restore ->pdeath_signal behaviour
    
    Commit b2b2cbc4b2a2f389442549399a993a8306420baf introduced a user-
    visible change: ->pdeath_signal is sent only when the entire thread
    group exits.
    
    While this change is imho good, it may break things.  So restore the
    old behaviour for now.
    
    Signed-off-by: Oleg Nesterov <[EMAIL PROTECTED]>
    To: Albert Cahalan <[EMAIL PROTECTED]>
    Cc: Eric W. Biederman <[EMAIL PROTECTED]>
    Cc: Andrew Morton <[EMAIL PROTECTED]>
    Cc: Linus Torvalds <[EMAIL PROTECTED]>
    Cc: Ingo Molnar <[EMAIL PROTECTED]>
    Cc: Qi Yong <[EMAIL PROTECTED]>
    Cc: Roland McGrath <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 kernel/exit.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/kernel/exit.c b/kernel/exit.c
index 46cf6b6..3540172 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -597,6 +597,10 @@ choose_new_parent(struct task_struct *p, struct 
task_struct *reaper)
 static void
 reparent_thread(struct task_struct *p, struct task_struct *father, int traced)
 {
+       if (p->pdeath_signal)
+               /* We already hold the tasklist_lock here.  */
+               group_send_sig_info(p->pdeath_signal, SEND_SIG_NOINFO, p);
+
        /* Move the child from its dying parent to the new one.  */
        if (unlikely(traced)) {
                /* Preserve ptrace links if someone else is tracing this child. 
 */
@@ -631,10 +635,6 @@ reparent_thread(struct task_struct *p, struct task_struct 
*father, int traced)
        /* We don't want people slaying init.  */
        if (p->exit_signal != -1)
                p->exit_signal = SIGCHLD;
-               
-       if (p->pdeath_signal)
-               /* We already hold the tasklist_lock here.  */
-               group_send_sig_info(p->pdeath_signal, SEND_SIG_NOINFO, p);
 
        /* If we'd notified the old parent about this child's death,
         * also notify the new parent.
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to