NAME
ualarm - schedule signal after given number of microseconds
SYNOPSIS
/* BSD version */
#include <unistd.h>
unsigned int
ualarm(unsigned int usecs, unsigned int interval);
/* SUSv2 version */
#define _XOPEN_SOURCE 500
#include <unistd.h>
useconds_t ualarm(useconds_t usecs, useconds_t interval);
DESCRIPTION
The
ualarm() function causes the signal SIGALRM to be sent
to the invoking process after (not less than)
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.
Unless caught or ignored, this signal will terminate the process.
If the
interval
argument is nonzero, further SIGALRM signals will be sent every
interval
microseconds after the first.
RETURN VALUE
This function returns the number of microseconds remaining from
the previous call, or 0 when no alarm is pending.
ERRORS
- EINTR
-
Interrupted by a signal.
- EINVAL
-
usecs or interval is not smaller than 1000000.
(On systems where that is considered an error.)
CONFORMING TO
BSD 4.3, POSIX 1003.1-2003.
BSD 4.3, SUSv2 and POSIX do not define any errors.
NOTES
The type
useconds_t
is an unsigned integer type capable of holding integers
in the range [0,1000000].
This type is defined by
<sys/types.h>
included by
<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.
Programs will be more portable if they never mention this type explicitly.
The interaction of this function with
other timer functions such as
alarm(),
sleep(),
nanosleep(),
setitimer(),
timer_create(),
timer_delete(),
timer_getoverrun(),
timer_gettime(),
timer_settime(),
usleep()
is unspecified.
This function is obsolete. Use
nanosleep(2)
or
setitimer(2)
instead.
SEE ALSO
alarm(2),
getitimer(2),
nanosleep(2),
select(2),
setitimer(2),
usleep(3)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- ERRORS
-
- CONFORMING TO
-
- NOTES
-
- SEE ALSO
-