---
name: "schedule_hrtimeout_range"
section: "9"
platform: "linux"
package: "linux-manual-3.16"
version: "3.16.56-1+deb8u1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/schedule_hrtimeout_range"
---

# schedule\_hrtimeout\_range(9)

sleep until timeout

## NAME

schedule\_hrtimeout\_range - sleep until timeout

## SYNOPSIS

**int \_\_sched schedule\_hrtimeout\_range(ktime\_t \*** *expires***, unsigned long** *delta***, const enum hrtimer\_mode** *mode***);**

## ARGUMENTS

*expires*

timeout value (ktime\_t)

*delta*

slack in expires timeout (ktime\_t)

*mode*

timer mode, HRTIMER\_MODE\_ABS or HRTIMER\_MODE\_REL

## DESCRIPTION

Make the current task sleep until the given expiry time has elapsed. The routine will return immediately unless the current task state has been set (see **set\_current\_state**).

The *delta* argument gives the kernel the freedom to schedule the actual wakeup to a time that is both power and performance friendly. The kernel give the normal best effort behavior for "*expires*+*delta*", but may decide to fire the timer earlier, but no earlier than *expires*.

You can set the task state as follows -

**TASK\_UNINTERRUPTIBLE** - at least *timeout* time is guaranteed to pass before the routine returns.

**TASK\_INTERRUPTIBLE** - the routine may return early if a signal is delivered to the current task.

The current task state is guaranteed to be TASK\_RUNNING when this routine returns.

Returns 0 when the timer has expired otherwise -EINTR

## COPYRIGHT
