vserver 1.9.5.x5
[linux-2.6.git] / arch / m68k / kernel / ptrace.c
index 0f0b28d..1e143b4 100644 (file)
@@ -279,7 +279,7 @@ asmlinkage int sys_ptrace(long request, long pid, long addr, long data)
                        long tmp;
 
                        ret = 0;
-                       if (child->state == TASK_ZOMBIE) /* already dead */
+                       if (child->exit_state == EXIT_ZOMBIE) /* already dead */
                                break;
                        child->exit_code = SIGKILL;
        /* make sure the single step bit is not set. */
@@ -381,11 +381,8 @@ asmlinkage void syscall_trace(void)
        if (!current->thread.work.delayed_trace &&
            !current->thread.work.syscall_trace)
                return;
-       current->exit_code = SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD)
-                                       ? 0x80 : 0);
-       current->state = TASK_STOPPED;
-       notify_parent(current, SIGCHLD);
-       schedule();
+       ptrace_notify(SIGTRAP | ((current->ptrace & PT_TRACESYSGOOD)
+                                ? 0x80 : 0));
        /*
         * this isn't the same as continuing with a signal, but it will do
         * for normal use.  strace only continues with a signal if the