diff options
Diffstat (limited to 'man3/usleep.3')
-rw-r--r-- | man3/usleep.3 | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/man3/usleep.3 b/man3/usleep.3 new file mode 100644 index 000000000..bebc1127a --- /dev/null +++ b/man3/usleep.3 @@ -0,0 +1,119 @@ +.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) +.\" +.\" Permission is granted to make and distribute verbatim copies of this +.\" manual provided the copyright notice and this permission notice are +.\" preserved on all copies. +.\" +.\" Permission is granted to copy and distribute modified versions of this +.\" manual under the conditions for verbatim copying, provided that the +.\" entire resulting derived work is distributed under the terms of a +.\" permission notice identical to this one. +.\" +.\" Since the Linux kernel and libraries are constantly changing, this +.\" manual page may be incorrect or out-of-date. The author(s) assume no +.\" responsibility for errors or omissions, or for damages resulting from +.\" the use of the information contained herein. The author(s) may not +.\" have taken the same level of care in the production of this manual, +.\" which is licensed free of charge, as they might when working +.\" professionally. +.\" +.\" Formatted or processed versions of this manual, if unaccompanied by +.\" the source, must acknowledge the copyright and authors of this work. +.\" +.\" References consulted: +.\" Linux libc source code +.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) +.\" 386BSD man pages +.\" Modified 1993-07-24 by Rik Faith (faith@cs.unc.edu) +.\" Modified 2001-04-01 by aeb +.\" Modified 2003-07-23 by aeb +.\" +.TH USLEEP 3 2003-07-23 "" "Linux Programmer's Manual" +.SH NAME +usleep \- suspend execution for microsecond intervals +.SH SYNOPSIS +.nf +/* BSD version */ +.B "#include <unistd.h>" +.sp +.BI "void usleep(unsigned long " usec ); +.sp +/* SUSv2 version */ +.B "#define _XOPEN_SOURCE 500" +.br +.B "#include <unistd.h>" +.sp +.BI "int usleep(useconds_t " usec "); +.fi +.SH DESCRIPTION +The \fBusleep()\fP function suspends execution of the calling process for +(at least) \fIusec\fP microseconds. The sleep may be lengthened slightly +by any system activity or by the time spent processing the call or by the +granularity of system timers. +.SH "RETURN VALUE" +None (BSD). Or: 0 on success, \-1 on error (SUSv2). +.SH ERRORS +.TP +EINTR +Interrupted by a signal. +.TP +EINVAL +\fIusec\fP is not smaller than 1000000. +(On systems where that is considered an error.) +.SH "CONFORMING TO" +BSD 4.3. +The SUSv2 version returns int, and this is also the prototype +used by glibc 2.2.2. +Only the EINVAL error return is documented by SUSv2. +.SH NOTES +The type +.B useconds_t +is an unsigned integer type capable of holding integers +in the range [0,1000000]. Programs will be more portable +if they never mention this type explicitly. Use +.RS +.nf +.ta 8 +.sp +#include <unistd.h> +\&... + unsigned int usecs; +\&... + usleep(usecs); +.sp +.fi +.RE +This type is defined by +.I <sys/types.h> +included by +.I <unistd.h> +but glibc defines it only when _XOPEN_SOURCE has a value not less than 500, +or both _XOPEN_SOURCE and _XOPEN_SOURCE_EXTENDED are defined. +.\" useconds_t also gives problems on HPUX 10. +.LP +The interaction of this function with the SIGALRM signal, and with +other timer functions such as +.IR alarm (), +.IR sleep (), +.IR nanosleep (), +.IR setitimer (), +.IR timer_create (), +.IR timer_delete (), +.IR timer_getoverrun (), +.IR timer_gettime (), +.IR timer_settime (), +.IR ualarm () +is unspecified. +.LP +This function is obsolete. Use +.BR nanosleep (2) +or +.BR setitimer (2) +instead. +.SH "SEE ALSO" +.BR alarm (2), +.BR getitimer (2), +.BR nanosleep (2), +.BR select (2), +.BR setitimer (2), +.BR sleep (3) |