if (try_to_freeze(0)) 
if (try_to_freeze()) 
int do_signal(struct pt_regs *regs, sigset_t *oldset){	struct k_sigaction ka;	siginfo_t info;	int signr;	/*	 * We want the common case to go fast, which	 * is why we may in certain cases get here from	 * kernel mode. Just return without doing anything	 * if so.	 */	if (!user_mode(regs))		return 1;	if (try_to_freeze(0))		goto no_signal;	if (!oldset)		oldset = &current->blocked;	signr = get_signal_to_deliver(&info, &ka, regs, NULL);	if (signr > 0) {		/* Reenable any watchpoints before delivering the		 * signal to user space. The processor register will		 * have been cleared if the watchpoint triggered		 * inside the kernel.		 */		if (current->thread.debugreg7)			set_debugreg(current->thread.debugreg7, 7);		/* Whee!  Actually deliver the signal.  */		return handle_signal(signr, &info, &ka, oldset, regs);	} no_signal:	/* Did we come from a system call? */	if ((long)regs->orig_rax >= 0) {		/* Restart the system call - no handlers present */		long res = regs->rax;		if (res == -ERESTARTNOHAND ||		    res == -ERESTARTSYS ||		    res == -ERESTARTNOINTR) {			regs->rax = regs->orig_rax;			regs->rip -= 2;		}		if (regs->rax == (unsigned long)-ERESTART_RESTARTBLOCK) {			regs->rax = test_thread_flag(TIF_IA32) ?					__NR_ia32_restart_syscall :					__NR_restart_syscall;			regs->rip -= 2;		}	}	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/3e1d1d28d99dabe63c64f7f40f1ca1d646de1f73/signal.c/buggy/arch/x86_64/kernel/signal.c