/* Turn a tracing stop into a normal stop now, since with no tracer there would be no way to wake it up with SIGCONT or SIGKILL. If there was a signal sent that would resume the child, but didn't because it was in TASK_TRACED, resume it now. Requires that irqs be disabled.  */
static void ptrace_untrace(struct task_struct *child)
/* Turn a tracing stop into a normal stop now, since with no tracer there would be no way to wake it up with SIGCONT or SIGKILL. If there was a signal sent that would resume the child, but didn't because it was in TASK_TRACED, resume it now. Requires that irqs be disabled.  */
static void ptrace_untrace(struct task_struct *child)
{
	spin_lock(&child->sighand->siglock);
	if (task_is_traced(child)) {
		if (child->signal->flags & SIGNAL_STOP_STOPPED ||
		    child->signal->group_stop_count)
			__set_task_state(child, TASK_STOPPED);
		else
			signal_wake_up(child, 1);
	}
	spin_unlock(&child->sighand->siglock);
}