ref: 5deae3fbb53dc94ce084a6d15e9bc5cf421f0d6f
dir: /sys/man/9/delay/
.TH DELAY 9 .SH NAME delay, microdelay, addclock0link \- small delays, clock interrupts .SH SYNOPSIS .ta \w'\fLTimer* 'u .B void delay(int ms) .PP .B void microdelay(int µs) .PP .B Timer* addclock0link(void(*clockf)(void), int ms) .SH DESCRIPTION .I Delay busy waits for .I ms milliseconds. The minimum value of .I ms is one on most architectures. .PP .I Microdelay works exactly the same as .I delay but using microseconds instead. .PP These routines are intended for use in interrupt contexts, device reset and shutdown functions, and other places where the scheduler is unavailable. When you have a process context, and can sleep, consider .IR tsleep (9). .I Tsleep does not busy wait. .PP .I Addclock0link adds a new periodic timer to the current processor's timer list, with .I clockf executing every .I ms milliseconds. If .I ms is zero a default clock is used, it will panic otherwise (i.e. .I ms < 0). .SH SOURCE .B /sys/src/9/port/portclock.c .br .B /sys/src/9/*/clock.c .SH SEE ALSO .IR sleep (9)