do_notify_parent_cldstop(current, current->parent, CLD_TRAPPED); 
do_notify_parent_cldstop(current, 1, CLD_TRAPPED); 
static void ptrace_stop(int exit_code, int nostop_code, siginfo_t *info){	/*	 * If there is a group stop in progress,	 * we must participate in the bookkeeping.	 */	if (current->signal->group_stop_count > 0)		--current->signal->group_stop_count;	current->last_siginfo = info;	current->exit_code = exit_code;	/* Let the debugger run.  */	set_current_state(TASK_TRACED);	spin_unlock_irq(&current->sighand->siglock);	read_lock(&tasklist_lock);	if (likely(current->ptrace & PT_PTRACED) &&	    likely(current->parent != current->real_parent ||		   !(current->ptrace & PT_ATTACHED)) &&	    (likely(current->parent->signal != current->signal) ||	     !unlikely(current->signal->flags & SIGNAL_GROUP_EXIT))) {		do_notify_parent_cldstop(current, current->parent,					 CLD_TRAPPED);		read_unlock(&tasklist_lock);		schedule();	} else {		/*		 * By the time we got the lock, our tracer went away.		 * Don't stop here.		 */		read_unlock(&tasklist_lock);		set_current_state(TASK_RUNNING);		current->exit_code = nostop_code;	}	/*	 * We are back.  Now reacquire the siglock before touching	 * last_siginfo, so that we are sure to have synchronized with	 * any signal-sending on another CPU that wants to examine it.	 */	spin_lock_irq(&current->sighand->siglock);	current->last_siginfo = NULL;	/*	 * Queued signals ignored us while we were stopped for tracing.	 * So check for any that we should take before resuming user mode.	 */	recalc_sigpending();}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/bc505a478d3fffcfb269b72f64df4510305cfe81/signal.c/buggy/kernel/signal.c