|
|
1.1 ! root 1: .\" Copyright (c) 1980 Regents of the University of California. ! 2: .\" All rights reserved. The Berkeley software License Agreement ! 3: .\" specifies the terms and conditions for redistribution. ! 4: .\" ! 5: .\" @(#)@(#)usleep.3 6.3 (Berkeley) 5/15/86 ! 6: .\" ! 7: .TH USLEEP 3 "May 15, 1986" ! 8: .UC 6 ! 9: .SH NAME ! 10: usleep \- suspend execution for interval ! 11: .SH SYNOPSIS ! 12: .nf ! 13: .B usleep(useconds) ! 14: .B unsigned useconds; ! 15: .fi ! 16: .SH DESCRIPTION ! 17: The current process is suspended from execution for the number ! 18: of microseconds specified by the argument. ! 19: The actual suspension time may be an arbitrary amount longer ! 20: because of other activity in the system ! 21: or because of the time spent in processing the call. ! 22: .PP ! 23: The routine is implemented by setting an interval timer ! 24: and pausing until it occurs. ! 25: The previous state of this timer is saved and restored. ! 26: If the sleep time exceeds the time to the expiration of the ! 27: previous timer, ! 28: the process sleeps only until the signal would have occurred, and the ! 29: signal is sent a short time later. ! 30: .PP ! 31: This routine is implemented using ! 32: .IR setitimer (2); ! 33: it requires eight system calls each time it is invoked. ! 34: A similar but less compatible function can be obtained with a single ! 35: .IR select (2); ! 36: it would not restart after signals, but would not interfere ! 37: with other uses of ! 38: .IR setitimer . ! 39: .SH "SEE ALSO" ! 40: setitimer(2), getitimer(2), sigpause(2), ualarm(3), sleep(3), alarm(3)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.