diff --git a/kernel/ptrace.c b/kernel/ptrace.c index 0692ab5a0d672341000d1697d7c308c566060fb4..42c317874cfa8d2703c13f3c44757a6f397459ac 100644 --- a/kernel/ptrace.c +++ b/kernel/ptrace.c @@ -304,6 +304,8 @@ int ptrace_detach(struct task_struct *child, unsigned int data) if (child->ptrace) { child->exit_code = data; dead = __ptrace_detach(current, child); + if (!child->exit_state) + wake_up_process(child); } write_unlock_irq(&tasklist_lock);