summaryrefslogtreecommitdiffstats
path: root/man/man3/ualarm.3
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-24 04:52:22 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-24 04:52:22 +0000
commit3d08cd331c1adcf0d917392f7e527b3f00511748 (patch)
tree312f0d1e1632f48862f044b8bb87e602dcffb5f9 /man/man3/ualarm.3
parentAdding debian version 6.7-2. (diff)
downloadmanpages-3d08cd331c1adcf0d917392f7e527b3f00511748.tar.xz
manpages-3d08cd331c1adcf0d917392f7e527b3f00511748.zip
Merging upstream version 6.8.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'man/man3/ualarm.3')
-rw-r--r--man/man3/ualarm.3140
1 files changed, 140 insertions, 0 deletions
diff --git a/man/man3/ualarm.3 b/man/man3/ualarm.3
new file mode 100644
index 0000000..66359dd
--- /dev/null
+++ b/man/man3/ualarm.3
@@ -0,0 +1,140 @@
+'\" t
+.\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
+.\"
+.\" SPDX-License-Identifier: GPL-2.0-or-later
+.\"
+.TH ualarm 3 2024-05-02 "Linux man-pages (unreleased)"
+.SH NAME
+ualarm \- schedule signal after given number of microseconds
+.SH LIBRARY
+Standard C library
+.RI ( libc ", " \-lc )
+.SH SYNOPSIS
+.nf
+.B "#include <unistd.h>"
+.P
+.BI "useconds_t ualarm(useconds_t " usecs ", useconds_t " interval );
+.fi
+.P
+.RS -4
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.RE
+.P
+.BR ualarm ():
+.nf
+ Since glibc 2.12:
+ (_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200809L)
+ || /* glibc >= 2.19: */ _DEFAULT_SOURCE
+ || /* glibc <= 2.19: */ _BSD_SOURCE
+ Before glibc 2.12:
+ _BSD_SOURCE || _XOPEN_SOURCE >= 500
+.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
+.fi
+.SH DESCRIPTION
+The
+.BR ualarm ()
+function causes the signal
+.B SIGALRM
+to be sent to the invoking process after (not less than)
+.I usecs
+microseconds.
+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.
+.P
+Unless caught or ignored, the
+.B SIGALRM
+signal will terminate the process.
+.P
+If the
+.I interval
+argument is nonzero, further
+.B SIGALRM
+signals will be sent every
+.I interval
+microseconds after the first.
+.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
+.TP
+.B EINTR
+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;
+lbx lb lb
+l l l.
+Interface Attribute Value
+T{
+.na
+.nh
+.BR ualarm ()
+T} Thread safety MT-Safe
+.TE
+.SH STANDARDS
+None.
+.SH HISTORY
+4.3BSD, POSIX.1-2001.
+POSIX.1-2001 marks it as obsolete.
+Removed in POSIX.1-2008.
+.P
+4.3BSD, SUSv2, and POSIX do not define any errors.
+.P
+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.
+.P
+The type
+.I useconds_t
+is an unsigned integer type capable of holding integers
+in the range [0,1000000].
+On the original BSD implementation, and in glibc before glibc 2.1,
+the arguments to
+.BR ualarm ()
+were instead typed as
+.IR "unsigned int" .
+Programs will be more portable if they never mention
+.I useconds_t
+explicitly.
+.P
+The interaction of this function with
+other timer functions such as
+.BR alarm (2),
+.BR sleep (3),
+.BR nanosleep (2),
+.BR setitimer (2),
+.BR timer_create (2),
+.BR timer_delete (2),
+.BR timer_getoverrun (2),
+.BR timer_gettime (2),
+.BR timer_settime (2),
+.BR usleep (3)
+is unspecified.
+.P
+This function is obsolete.
+Use
+.BR setitimer (2)
+or POSIX interval timers
+.RB ( timer_create (2),
+etc.)
+instead.
+.SH SEE ALSO
+.BR alarm (2),
+.BR getitimer (2),
+.BR nanosleep (2),
+.BR select (2),
+.BR setitimer (2),
+.BR usleep (3),
+.BR time (7)