这篇教程C++ update_rmtp函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中update_rmtp函数的典型用法代码示例。如果您正苦于以下问题:C++ update_rmtp函数的具体用法?C++ update_rmtp怎么用?C++ update_rmtp使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了update_rmtp函数的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: hrtimer_nanosleep_restartlong __sched hrtimer_nanosleep_restart(struct restart_block *restart){ struct hrtimer_sleeper t; struct timespec __user *rmtp; int ret = 0; hrtimer_init_on_stack(&t.timer, restart->nanosleep.clockid, HRTIMER_MODE_ABS); hrtimer_set_expires_tv64(&t.timer, restart->nanosleep.expires); if (do_nanosleep(&t, HRTIMER_MODE_ABS)) goto out; rmtp = restart->nanosleep.rmtp; if (rmtp) { ret = update_rmtp(&t.timer, rmtp); if (ret <= 0) goto out; } /* The other values in restart are already filled in */ ret = -ERESTART_RESTARTBLOCK;out: destroy_hrtimer_on_stack(&t.timer); return ret;}
开发者ID:RolanDroid,项目名称:lge_MonsterKernel-lproj,代码行数:26,
示例2: alarm_timer_nsleep_restart/** * alarm_timer_nsleep_restart - restartblock alarmtimer nsleep * @restart: ptr to restart block * * Handles restarted clock_nanosleep calls */static long __sched alarm_timer_nsleep_restart(struct restart_block *restart){ enum alarmtimer_type type = restart->nanosleep.clockid; ktime_t exp; struct timespec __user *rmtp; struct alarm alarm; int ret = 0; exp.tv64 = restart->nanosleep.expires; alarm_init(&alarm, type, alarmtimer_nsleep_wakeup); if (alarmtimer_do_nsleep(&alarm, exp)) goto out; if (freezing(current)) alarmtimer_freezerset(exp, type); rmtp = restart->nanosleep.rmtp; if (rmtp) { ret = update_rmtp(exp, type, rmtp); if (ret <= 0) goto out; } /* The other values in restart are already filled in */ ret = -ERESTART_RESTARTBLOCK;out: return ret;}
开发者ID:303750856,项目名称:linux-3.1,代码行数:36,
示例3: hrtimer_nanosleeplong hrtimer_nanosleep(struct timespec *rqtp, struct timespec __user *rmtp, const enum hrtimer_mode mode, const clockid_t clockid){ struct restart_block *restart; struct hrtimer_sleeper t; int ret = 0; hrtimer_init_on_stack(&t.timer, clockid, mode); t.timer.expires = timespec_to_ktime(*rqtp); if (do_nanosleep(&t, mode)) goto out; /* Absolute timers do not update the rmtp value and restart: */ if (mode == HRTIMER_MODE_ABS) { ret = -ERESTARTNOHAND; goto out; } if (rmtp) { ret = update_rmtp(&t.timer, rmtp); if (ret <= 0) goto out; } restart = ¤t_thread_info()->restart_block; restart->fn = hrtimer_nanosleep_restart; restart->nanosleep.index = t.timer.base->index; restart->nanosleep.rmtp = rmtp; restart->nanosleep.expires = t.timer.expires.tv64; ret = -ERESTART_RESTARTBLOCK;out: destroy_hrtimer_on_stack(&t.timer); return ret;}
开发者ID:miettal,项目名称:armadillo420_standard,代码行数:35,
示例4: hrtimer_nanosleeplong hrtimer_nanosleep(struct timespec *rqtp, struct timespec __user *rmtp, const enum hrtimer_mode mode, const clockid_t clockid){ struct restart_block *restart; struct hrtimer_sleeper t; hrtimer_init(&t.timer, clockid, mode); t.timer.expires = timespec_to_ktime(*rqtp); if (do_nanosleep(&t, mode)) return 0; /* Absolute timers do not update the rmtp value and restart: */ if (mode == HRTIMER_MODE_ABS) return -ERESTARTNOHAND; if (rmtp) { int ret = update_rmtp(&t.timer, rmtp); if (ret <= 0) return ret; } restart = ¤t_thread_info()->restart_block; restart->fn = hrtimer_nanosleep_restart; restart->arg0 = (unsigned long) t.timer.base->index; restart->arg1 = (unsigned long) rmtp; restart->arg2 = t.timer.expires.tv64 & 0xFFFFFFFF; restart->arg3 = t.timer.expires.tv64 >> 32; return -ERESTART_RESTARTBLOCK;}
开发者ID:mobilipia,项目名称:iods,代码行数:30,
示例5: alarm_timer_nsleep/** * alarm_timer_nsleep - alarmtimer nanosleep * @which_clock: clockid * @flags: determins abstime or relative * @tsreq: requested sleep time (abs or rel) * @rmtp: remaining sleep time saved * * Handles clock_nanosleep calls against _ALARM clockids */static int alarm_timer_nsleep(const clockid_t which_clock, int flags, struct timespec *tsreq, struct timespec __user *rmtp){ enum alarmtimer_type type = clock2alarm(which_clock); struct alarm alarm; ktime_t exp; int ret = 0; struct restart_block *restart; if (!alarmtimer_get_rtcdev()) return -ENOTSUPP; if (!capable(CAP_WAKE_ALARM)) return -EPERM; alarm_init(&alarm, type, alarmtimer_nsleep_wakeup); exp = timespec_to_ktime(*tsreq); /* Convert (if necessary) to absolute time */ if (flags != TIMER_ABSTIME) { ktime_t now = alarm_bases[type].gettime(); exp = ktime_add(now, exp); } if (alarmtimer_do_nsleep(&alarm, exp)) goto out; if (freezing(current)) alarmtimer_freezerset(exp, type); /* abs timers don't set remaining time or restart */ if (flags == TIMER_ABSTIME) { ret = -ERESTARTNOHAND; goto out; } if (rmtp) { ret = update_rmtp(exp, type, rmtp); if (ret <= 0) goto out; } restart = ¤t_thread_info()->restart_block; restart->fn = alarm_timer_nsleep_restart; restart->nanosleep.clockid = type; restart->nanosleep.expires = exp.tv64; restart->nanosleep.rmtp = rmtp; ret = -ERESTART_RESTARTBLOCK;out: return ret;}
开发者ID:303750856,项目名称:linux-3.1,代码行数:61,
示例6: hrtimer_nanosleep_restartlong __sched hrtimer_nanosleep_restart(struct restart_block *restart){ struct hrtimer_sleeper t; struct timespec __user *rmtp; hrtimer_init(&t.timer, restart->arg0, HRTIMER_MODE_ABS); t.timer.expires.tv64 = ((u64)restart->arg3 << 32) | (u64) restart->arg2; if (do_nanosleep(&t, HRTIMER_MODE_ABS)) return 0; rmtp = (struct timespec __user *)restart->arg1; if (rmtp) { int ret = update_rmtp(&t.timer, rmtp); if (ret <= 0) return ret; } /* The other values in restart are already filled in */ return -ERESTART_RESTARTBLOCK;}
开发者ID:mobilipia,项目名称:iods,代码行数:21,
示例7: hrtimer_nanosleeplong hrtimer_nanosleep(struct timespec *rqtp, struct timespec __user *rmtp, const enum hrtimer_mode mode, const clockid_t clockid){ struct restart_block *restart; struct hrtimer_sleeper t; int ret = 0; unsigned long slack; slack = current->timer_slack_ns; if (rt_task(current)) slack = 0; hrtimer_init_on_stack(&t.timer, clockid, mode); hrtimer_set_expires_range_ns(&t.timer, timespec_to_ktime(*rqtp), slack); if (do_nanosleep(&t, mode)) goto out; /* Absolute timers do not update the rmtp value and restart: */ if (mode == HRTIMER_MODE_ABS) { ret = -ERESTARTNOHAND; goto out; } if (rmtp) { ret = update_rmtp(&t.timer, rmtp); if (ret <= 0) goto out; } restart = ¤t_thread_info()->restart_block; restart->fn = hrtimer_nanosleep_restart; restart->nanosleep.clockid = t.timer.base->clockid; restart->nanosleep.rmtp = rmtp; restart->nanosleep.expires = hrtimer_get_expires_tv64(&t.timer); ret = -ERESTART_RESTARTBLOCK;out: destroy_hrtimer_on_stack(&t.timer); return ret;}
开发者ID:RolanDroid,项目名称:lge_MonsterKernel-lproj,代码行数:40,
注:本文中的update_rmtp函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ update_screen函数代码示例 C++ update_rect函数代码示例 |