.\" <http://www.gnu.org/licenses/>.
.\" %%%LICENSE_END
.\"
-.TH UALARM 3 2013-04-18 "" "Linux Programmer's Manual"
+.TH UALARM 3 2017-09-15 "" "Linux Programmer's Manual"
.SH NAME
ualarm \- schedule signal after given number of microseconds
.SH SYNOPSIS
.nf
.B "#include <unistd.h>"
-.sp
+.PP
.BI "useconds_t ualarm(useconds_t " usecs ", useconds_t " interval );
.fi
-.sp
+.PP
.in -4n
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
.in
-.sp
+.PP
.BR ualarm ():
.ad l
.RS 4
.TP 4
Since glibc 2.12:
.nf
-_BSD_SOURCE ||
- (_XOPEN_SOURCE\ >=\ 500 ||
- _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED) &&
- !(_POSIX_C_SOURCE\ >=\ 200809L || _XOPEN_SOURCE\ >=\ 700)
+(_XOPEN_SOURCE\ >=\ 500) && ! (_POSIX_C_SOURCE\ >=\ 200809L)
+ || /* Glibc since 2.19: */ _DEFAULT_SOURCE
+ || /* Glibc versions <= 2.19: */ _BSD_SOURCE
.TP 4
.fi
Before glibc 2.12:
-_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500 ||
-_XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
+_BSD_SOURCE || _XOPEN_SOURCE\ >=\ 500
+.\" || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
.PD
.RE
.ad b
The delay may be lengthened slightly by any system activity
or by the time spent processing the call or by the
granularity of system timers.
-.LP
+.PP
Unless caught or ignored, the
.B SIGALRM
signal will terminate the process.
-.LP
+.PP
If the
.I interval
argument is nonzero, further
.SH ERRORS
.TP
.B EINTR
-Interrupted by a signal.
+Interrupted by a signal; see
+.BR signal (7).
.TP
.B EINVAL
\fIusecs\fP or \fIinterval\fP is not smaller than 1000000.
(On systems where that is considered an error.)
+.SH ATTRIBUTES
+For an explanation of the terms used in this section, see
+.BR attributes (7).
+.TS
+allbox;
+lb lb lb
+l l l.
+Interface Attribute Value
+T{
+.BR ualarm ()
+T} Thread safety MT-Safe
+.TE
.SH CONFORMING TO
4.3BSD, POSIX.1-2001.
POSIX.1-2001 marks
.\" 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.
-
+.PP
The type
.I useconds_t
is an unsigned integer type capable of holding integers
Programs will be more portable if they never mention
.I useconds_t
explicitly.
-.LP
+.PP
The interaction of this function with
other timer functions such as
.BR alarm (2),
.BR timer_settime (2),
.BR usleep (3)
is unspecified.
-.LP
+.PP
This function is obsolete.
Use
.BR setitimer (2)