您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CLOCK_DISPATCH函数代码示例

51自学网 2021-06-01 20:02:11
  C++
这篇教程C++ CLOCK_DISPATCH函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中CLOCK_DISPATCH函数的典型用法代码示例。如果您正苦于以下问题:C++ CLOCK_DISPATCH函数的具体用法?C++ CLOCK_DISPATCH怎么用?C++ CLOCK_DISPATCH使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了CLOCK_DISPATCH函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: clock_nanosleep_restart

/* * This will restart clock_nanosleep. This is required only by * compat_clock_nanosleep_restart for now. */longclock_nanosleep_restart(struct restart_block *restart_block){	clockid_t which_clock = restart_block->arg0;	return CLOCK_DISPATCH(which_clock, nsleep_restart,			      (restart_block));}
开发者ID:AvengerMoJo,项目名称:apc-8750,代码行数:12,


示例2: SYSCALL_DEFINE2

SYSCALL_DEFINE2(clock_settime, const clockid_t, which_clock,		const struct timespec __user *, tp){	struct timespec new_tp;	if (invalid_clockid(which_clock))		return -EINVAL;	if (copy_from_user(&new_tp, tp, sizeof (*tp)))		return -EFAULT;	return CLOCK_DISPATCH(which_clock, clock_set, (which_clock, &new_tp));}
开发者ID:AvengerMoJo,项目名称:apc-8750,代码行数:12,


示例3: SYSCALL_DEFINE4

SYSCALL_DEFINE4(clock_nanosleep, const clockid_t, which_clock, int, flags,		const struct timespec __user *, rqtp,		struct timespec __user *, rmtp){	struct timespec t;	if (invalid_clockid(which_clock))		return -EINVAL;	if (copy_from_user(&t, rqtp, sizeof (struct timespec)))		return -EFAULT;	if (!timespec_valid(&t))		return -EINVAL;	return CLOCK_DISPATCH(which_clock, nsleep,			      (which_clock, flags, &t, rmtp));}
开发者ID:AvengerMoJo,项目名称:apc-8750,代码行数:18,


示例4: timer_delete_hook

static inline int timer_delete_hook(struct k_itimer *timer){	return CLOCK_DISPATCH(timer->it_clock, timer_del, (timer));}
开发者ID:AvengerMoJo,项目名称:apc-8750,代码行数:4,


示例5: SYSCALL_DEFINE3

SYSCALL_DEFINE3(timer_create, const clockid_t, which_clock,		struct sigevent __user *, timer_event_spec,		timer_t __user *, created_timer_id){	struct k_itimer *new_timer;	int error, new_timer_id;	sigevent_t event;	int it_id_set = IT_ID_NOT_SET;	if (invalid_clockid(which_clock))		return -EINVAL;	new_timer = alloc_posix_timer();	if (unlikely(!new_timer))		return -EAGAIN;	spin_lock_init(&new_timer->it_lock); retry:	if (unlikely(!idr_pre_get(&posix_timers_id, GFP_KERNEL))) {		error = -EAGAIN;		goto out;	}	spin_lock_irq(&idr_lock);	error = idr_get_new(&posix_timers_id, new_timer, &new_timer_id);	spin_unlock_irq(&idr_lock);	if (error) {		if (error == -EAGAIN)			goto retry;		/*		 * Weird looking, but we return EAGAIN if the IDR is		 * full (proper POSIX return value for this)		 */		error = -EAGAIN;		goto out;	}	it_id_set = IT_ID_SET;	new_timer->it_id = (timer_t) new_timer_id;	new_timer->it_clock = which_clock;	new_timer->it_overrun = -1;	error = CLOCK_DISPATCH(which_clock, timer_create, (new_timer));	if (error)		goto out;	/*	 * return the timer_id now.  The next step is hard to	 * back out if there is an error.	 */	if (copy_to_user(created_timer_id,			 &new_timer_id, sizeof (new_timer_id))) {		error = -EFAULT;		goto out;	}	if (timer_event_spec) {		if (copy_from_user(&event, timer_event_spec, sizeof (event))) {			error = -EFAULT;			goto out;		}		rcu_read_lock();		new_timer->it_pid = get_pid(good_sigevent(&event));		rcu_read_unlock();		if (!new_timer->it_pid) {			error = -EINVAL;			goto out;		}	} else {		event.sigev_notify = SIGEV_SIGNAL;		event.sigev_signo = SIGALRM;		event.sigev_value.sival_int = new_timer->it_id;		new_timer->it_pid = get_pid(task_tgid(current));	}	new_timer->it_sigev_notify     = event.sigev_notify;	new_timer->sigq->info.si_signo = event.sigev_signo;	new_timer->sigq->info.si_value = event.sigev_value;	new_timer->sigq->info.si_tid   = new_timer->it_id;	new_timer->sigq->info.si_code  = SI_TIMER;	spin_lock_irq(&current->sighand->siglock);	new_timer->it_signal = current->signal;	list_add(&new_timer->list, &current->signal->posix_timers);	spin_unlock_irq(&current->sighand->siglock);	return 0; 	/*	 * In the case of the timer belonging to another task, after	 * the task is unlocked, the timer is owned by the other task	 * and may cease to exist at any time.  Don't use or modify	 * new_timer after the unlock call.	 */out:	release_posix_timer(new_timer, it_id_set);	return error;}
开发者ID:AvengerMoJo,项目名称:apc-8750,代码行数:94,



注:本文中的CLOCK_DISPATCH函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ CLOCK_EnableClock函数代码示例
C++ CLOCKSOURCE_MASK函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。