OSDN Git Service

(split) LDP: Update original to LDP v3.65
[linuxjm/LDP_man-pages.git] / original / man3 / ualarm.3
index 755440d..2ebf06f 100644 (file)
@@ -1,5 +1,6 @@
 .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
 .\"
+.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
 .\" This is free documentation; you can redistribute it and/or
 .\" modify it under the terms of the GNU General Public License as
 .\" published by the Free Software Foundation; either version 2 of
 .\" GNU General Public License for more details.
 .\"
 .\" You should have received a copy of the GNU General Public
-.\" License along with this manual; if not, write to the Free
-.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
-.\" USA.
+.\" License along with this manual; if not, see
+.\" <http://www.gnu.org/licenses/>.
+.\" %%%LICENSE_END
 .\"
-.TH UALARM 3  2008-08-06 "" "Linux Programmer's Manual"
+.TH UALARM 3  2013-12-23 "" "Linux Programmer's Manual"
 .SH NAME
 ualarm \- schedule signal after given number of microseconds
 .SH SYNOPSIS
@@ -36,7 +37,24 @@ Feature Test Macro Requirements for glibc (see
 .in
 .sp
 .BR ualarm ():
-_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500
+.ad l
+.RS 4
+.PD 0
+.TP 4
+Since glibc 2.12:
+.nf
+_BSD_SOURCE ||
+    (_XOPEN_SOURCE\ >=\ 500 ||
+        _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED) &&
+    !(_POSIX_C_SOURCE\ >=\ 200809L || _XOPEN_SOURCE\ >=\ 700)
+.TP 4
+.fi
+Before glibc 2.12:
+_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 ||
+_XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
+.PD
+.RE
+.ad b
 .SH DESCRIPTION
 The
 .BR ualarm ()
@@ -60,7 +78,7 @@ argument is nonzero, further
 signals will be sent every
 .I interval
 microseconds after the first.
-.SH "RETURN VALUE"
+.SH RETURN VALUE
 This function returns the number of microseconds remaining for
 any alarm that was previously set, or 0 if no alarm was pending.
 .SH ERRORS
@@ -71,7 +89,12 @@ Interrupted by a signal.
 .B EINVAL
 \fIusecs\fP or \fIinterval\fP is not smaller than 1000000.
 (On systems where that is considered an error.)
-.SH "CONFORMING TO"
+.SH ATTRIBUTES
+.SS Multithreading (see pthreads(7))
+The
+.BR ualarm ()
+function is thread-safe.
+.SH CONFORMING TO
 4.3BSD, POSIX.1-2001.
 POSIX.1-2001 marks
 .BR ualarm ()
@@ -80,6 +103,13 @@ POSIX.1-2008 removes the specification of
 .BR ualarm ().
 4.3BSD, SUSv2, and POSIX do not define any errors.
 .SH NOTES
+POSIX.1-2001 does not specify what happens if the
+.I usecs
+argument is 0.
+.\" This case is not documented in HP-US, Solar, FreeBSD, NetBSD, or OpenBSD!
+On Linux (and probably most other systems),
+the effect is to cancel any pending alarm.
+
 The type
 .I useconds_t
 is an unsigned integer type capable of holding integers
@@ -114,7 +144,7 @@ or POSIX interval timers
 .RB ( timer_create (2),
 etc.)
 instead.
-.SH "SEE ALSO"
+.SH SEE ALSO
 .BR alarm (2),
 .BR getitimer (2),
 .BR nanosleep (2),
@@ -122,3 +152,11 @@ instead.
 .BR setitimer (2),
 .BR usleep (3),
 .BR time (7)
+.SH COLOPHON
+This page is part of release 3.65 of the Linux
+.I man-pages
+project.
+A description of the project,
+and information about reporting bugs,
+can be found at
+\%http://www.kernel.org/doc/man\-pages/.