if ((info > SEND_SIG_FORCED) && (info->si_code == SI_TIMER)) 
if (!is_si_special(info) && (info->si_code == SI_TIMER)) 
__group_send_sig_info(int sig, struct siginfo *info, struct task_struct *p){	int ret = 0;	assert_spin_locked(&p->sighand->siglock);	handle_stop_signal(sig, p);	if ((info > SEND_SIG_FORCED) && (info->si_code == SI_TIMER))		/*		 * Set up a return to indicate that we dropped the signal.		 */		ret = info->si_sys_private;	/* Short-circuit ignored signals.  */	if (sig_ignored(p, sig))		return ret;	if (LEGACY_QUEUE(&p->signal->shared_pending, sig))		/* This is a non-RT signal and we already have one queued.  */		return ret;	/*	 * Put this signal on the shared-pending queue, or fail with EAGAIN.	 * We always use the shared queue for process-wide signals,	 * to avoid several races.	 */	ret = send_signal(sig, info, p, &p->signal->shared_pending);	if (unlikely(ret))		return ret;	__group_complete_signal(sig, p);	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/621d31219d9a788bda924a0613048053f3f5f211/signal.c/buggy/kernel/signal.c