Răsfoiți Sursa

[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>
Oleg Nesterov 19 ani în urmă
părinte
comite
7ed0175a46
1 a modificat fișierele cu 1 adăugiri și 1 ștergeri
  1. 1 1
      kernel/signal.c

+ 1 - 1
kernel/signal.c

@@ -1499,7 +1499,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))) {
 		/*