aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/signal.c
diff options
context:
space:
mode:
authorOleg Nesterov <oleg@tv-sign.ru>2005-11-10 09:22:18 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-10 12:57:19 -0500
commit7ed0175a462c4c30f6df6fac1cccac058f997739 (patch)
tree30e894294260f8595565b620a7bb0b9cf8d1d69c /kernel/signal.c
parent759979ab17512a061c3a3e870f091af27ccdcbfb (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>
Diffstat (limited to 'kernel/signal.c')
-rw-r--r--kernel/signal.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/signal.c b/kernel/signal.c
index 1bf3c39d6109..80789a59b4db 100644
--- a/kernel/signal.c
+++ b/kernel/signal.c
@@ -1499,7 +1499,7 @@ void do_notify_parent(struct task_struct *tsk, int sig)
1499 1499
1500 psig = tsk->parent->sighand; 1500 psig = tsk->parent->sighand;
1501 spin_lock_irqsave(&psig->siglock, flags); 1501 spin_lock_irqsave(&psig->siglock, flags);
1502 if (sig == SIGCHLD && 1502 if (!tsk->ptrace && sig == SIGCHLD &&
1503 (psig->action[SIGCHLD-1].sa.sa_handler == SIG_IGN || 1503 (psig->action[SIGCHLD-1].sa.sa_handler == SIG_IGN ||
1504 (psig->action[SIGCHLD-1].sa.sa_flags & SA_NOCLDWAIT))) { 1504 (psig->action[SIGCHLD-1].sa.sa_flags & SA_NOCLDWAIT))) {
1505 /* 1505 /*