DELAY(9) | Kernel Developer's Manual | DELAY(9)

# NAME

delay, DELAY — microsecond delay

# SYNOPSIS

#include <machine/param.h>

void
delay(unsigned int us);

void
DELAY(unsigned int us);

# DESCRIPTION

Wait approximately us microseconds.

The delay is implemented as a machine loop, preventing events other than interrupt handlers for unmasked interrupts to run. DELAY() is reentrant (doesn't modify any global kernel or machine state) and is safe to use in interrupt or process context.

For long delays, condition variables should be considered, however they can only be used from process context and their resolution is limited by the system clock frequency.

# SEE ALSO

condvar(9), hz(9), kpause(9)

July 20, 2011 | NetBSD 7.2