summaryrefslogtreecommitdiffstats
path: root/man3/usleep.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/usleep.3')
-rw-r--r--man3/usleep.3119
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)