nanosleep
bool nanosleep;
} nanosleep;
if (restart->nanosleep.type != TT_NONE) {
enum alarmtimer_type type = restart->nanosleep.clockid;
ktime_t exp = restart->nanosleep.expires;
restart->nanosleep.clockid = type;
restart->nanosleep.expires = exp;
switch(restart->nanosleep.type) {
if (put_old_timespec32(ts, restart->nanosleep.compat_rmtp))
if (put_timespec64(ts, restart->nanosleep.rmtp))
if (restart->nanosleep.type != TT_NONE) {
hrtimer_setup_sleeper_on_stack(&t, restart->nanosleep.clockid, HRTIMER_MODE_ABS);
hrtimer_set_expires(&t.timer, restart->nanosleep.expires);
restart->nanosleep.clockid = t.timer.base->clockid;
restart->nanosleep.expires = hrtimer_get_expires(&t.timer);
SYSCALL_DEFINE2(nanosleep, struct __kernel_timespec __user *, rqtp,
current->restart_block.nanosleep.type = rmtp ? TT_NATIVE : TT_NONE;
current->restart_block.nanosleep.rmtp = rmtp;
current->restart_block.nanosleep.type = rmtp ? TT_COMPAT : TT_NONE;
current->restart_block.nanosleep.compat_rmtp = rmtp;
timer.it.cpu.nanosleep = true;
restart->nanosleep.expires = ns_to_ktime(expires);
if (restart->nanosleep.type != TT_NONE)
restart_block->nanosleep.clockid = which_clock;
clockid_t which_clock = restart_block->nanosleep.clockid;
t = ktime_to_timespec64(restart_block->nanosleep.expires);
if (unlikely(ctmr->nanosleep)) {
current->restart_block.nanosleep.type = rmtp ? TT_NATIVE : TT_NONE;
current->restart_block.nanosleep.rmtp = rmtp;
current->restart_block.nanosleep.type = rmtp ? TT_COMPAT : TT_NONE;
current->restart_block.nanosleep.compat_rmtp = rmtp;
current->restart_block.nanosleep.type = rmtp ? TT_NATIVE : TT_NONE;
current->restart_block.nanosleep.rmtp = rmtp;
current->restart_block.nanosleep.type = rmtp ? TT_COMPAT : TT_NONE;
current->restart_block.nanosleep.compat_rmtp = rmtp;
nanosleep(&ts, NULL);
nanosleep(&ts, NULL);
nanosleep(&ts, NULL);
err = nanosleep(&ts, NULL);
nanosleep(&interval_ts, NULL);
nanosleep(&rest, NULL);
nanosleep(&intv_ts, NULL);
nanosleep(&tv, NULL);
int nanosleep(void *ctx)
ret = nanosleep(&ts_remaining, NULL);
nanosleep(&ts, NULL);
nanosleep(&ts, NULL);
nanosleep(&ts, NULL);
nanosleep(&t, NULL);
nanosleep(&sleep_time, 0);
nanosleep(&req, NULL);
nanosleep(&req, NULL);
nanosleep(&ts, NULL);
CASE_TEST(nanosleep); ts.tv_nsec = -1; EXPECT_SYSER(1, nanosleep(&ts, NULL), -1, EINVAL); break;
while (nanosleep(&req, &rem) != 0) {
nanosleep(&delay, NULL);
nanosleep(&delay, NULL);
EXPECT_EQ(0, nanosleep(&timeout, NULL)) {
nanosleep(&delay, NULL);
nanosleep(&delay, NULL);
nanosleep(&delay, NULL);
nanosleep(&delay, NULL);
nanosleep(&delay, NULL);
nanosleep(&delay, NULL);
return nanosleep(&ts, NULL);