diff options
author | Oleg Nesterov <oleg@tv-sign.ru> | 2005-11-10 17:22:18 +0300 |
---|---|---|
committer | Chris Wright <chrisw@osdl.org> | 2005-11-24 14:10:07 -0800 |
commit | 423885efc678eec81b59e4c200417be58ede9d2f (patch) | |
tree | 252bfa180e45ff25b55b57ff1fafde2f5d95614a /kernel | |
parent | 5bd05b9592a18a05f3d3b508281e7b0a093e1cda (diff) |
[PATCH] Don't auto-reap traced children
If a task is being traced we never auto-reap it even if it might look
like its parent doesn't care. The tracer obviously _does_ care.
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Chris Wright <chrisw@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/signal.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/signal.c b/kernel/signal.c index 6904bbbfe116..0d755c68981e 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -1524,7 +1524,7 @@ void do_notify_parent(struct task_struct *tsk, int sig) psig = tsk->parent->sighand; spin_lock_irqsave(&psig->siglock, flags); - if (sig == SIGCHLD && + if (!tsk->ptrace && sig == SIGCHLD && (psig->action[SIGCHLD-1].sa.sa_handler == SIG_IGN || (psig->action[SIGCHLD-1].sa.sa_flags & SA_NOCLDWAIT))) { /* |