这篇教程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_DEFINE2SYSCALL_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_DEFINE4SYSCALL_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_hookstatic 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_DEFINE3SYSCALL_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(¤t->sighand->siglock); new_timer->it_signal = current->signal; list_add(&new_timer->list, ¤t->signal->posix_timers); spin_unlock_irq(¤t->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函数代码示例 |