diff options
Diffstat (limited to 'kernel/ptrace.c')
-rw-r--r-- | kernel/ptrace.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/kernel/ptrace.c b/kernel/ptrace.c index 0692ab5a0d67..2442d140bd9a 100644 --- a/kernel/ptrace.c +++ b/kernel/ptrace.c | |||
@@ -25,16 +25,6 @@ | |||
25 | 25 | ||
26 | 26 | ||
27 | /* | 27 | /* |
28 | * Initialize a new task whose father had been ptraced. | ||
29 | * | ||
30 | * Called from copy_process(). | ||
31 | */ | ||
32 | void ptrace_fork(struct task_struct *child, unsigned long clone_flags) | ||
33 | { | ||
34 | arch_ptrace_fork(child, clone_flags); | ||
35 | } | ||
36 | |||
37 | /* | ||
38 | * ptrace a task: make the debugger its new parent and | 28 | * ptrace a task: make the debugger its new parent and |
39 | * move it to the ptrace list. | 29 | * move it to the ptrace list. |
40 | * | 30 | * |
@@ -304,6 +294,8 @@ int ptrace_detach(struct task_struct *child, unsigned int data) | |||
304 | if (child->ptrace) { | 294 | if (child->ptrace) { |
305 | child->exit_code = data; | 295 | child->exit_code = data; |
306 | dead = __ptrace_detach(current, child); | 296 | dead = __ptrace_detach(current, child); |
297 | if (!child->exit_state) | ||
298 | wake_up_process(child); | ||
307 | } | 299 | } |
308 | write_unlock_irq(&tasklist_lock); | 300 | write_unlock_irq(&tasklist_lock); |
309 | 301 | ||