current->state = TASK_INTERRUPTIBLE; expire = schedule_timeout(expire); 
expire = schedule_timeout_interruptible(expire); 
asmlinkage long compat_sys_nanosleep(struct compat_timespec __user *rqtp,		struct compat_timespec __user *rmtp){	struct timespec t;	struct restart_block *restart;	unsigned long expire;	if (get_compat_timespec(&t, rqtp))		return -EFAULT;	if ((t.tv_nsec >= 1000000000L) || (t.tv_nsec < 0) || (t.tv_sec < 0))		return -EINVAL;	expire = timespec_to_jiffies(&t) + (t.tv_sec || t.tv_nsec);	current->state = TASK_INTERRUPTIBLE;	expire = schedule_timeout(expire);	if (expire == 0)		return 0;	if (rmtp) {		jiffies_to_timespec(expire, &t);		if (put_compat_timespec(&t, rmtp))			return -EFAULT;	}	restart = &current_thread_info()->restart_block;	restart->fn = compat_nanosleep_restart;	restart->arg0 = jiffies + expire;	restart->arg1 = (unsigned long) rmtp;	return -ERESTART_RESTARTBLOCK;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/75bcc8c5e1de78616b04ef9f317a293a7c1c163c/compat.c/clean/kernel/compat.c