 |
Index for Section 3 |
|
 |
Alphabetical listing for T |
|
 |
Bottom of page |
|
timer_create(3)
NAME
timer_create - Allocates a per-process timer
SYNOPSIS
#include <signal.h>
#include <time.h>
int timer_create (
clockid_t clock_id,
struct sigevent *evp,
timer_t *timerid );
LIBRARY
Realtime Library (librt.so, librt.a)
PARAMETERS
clock_id
The type of clock on which the timer is based. The CLOCK_REALTIME clock
is supported.
*evp
A pointer to a sigevent structure, which defines the signal sent to the
process on timer expiration.
*timerid
A pointer to the timer ID returned by the call to the timer_create
function.
DESCRIPTION
The timer_create function allocates a per-process timer using the specified
clock as the timing base. The timer_create function returns timer_id, which
identifies the timer in timer requests. The timer ID is unique within the
calling process until the timer is deleted. The timer is unarmed when first
returned from a call to timer_create. To arm the timer, use the
timer_settime function.
The evp argument, if non-NULL, points to a sigevent structure, which
defines the asynchronous notification that occurs when the timer expires.
If the sigev_notify member of evp is SIGEV_SIGNAL, the structure must
contain the signal number and data value to send to the process when the
timer expires.
SIGALRM is the default signal for CLOCK_REALTIME if the evp argument is
NULL.
The maximum number of timers supported per process (TIMER_MAX) is defined
in the <sys/rt_limits.h> header file, which is indirectly included through
<time.h>.
Timers are not inherited across fork calls. An exec call disarms and
deletes a timer.
RETURN VALUES
Upon successful completion, a value of 0 (zero) is returned. The
timer_create function also returns, in timerid, a pointer to the timer ID
that has been created.
An unsuccessful call returns -1, and errno is set to indicate the error
type.
ERRORS
The timer_create function fails under the following conditions:
[EAGAIN]
The system lacks sufficient signal queuing resources to honor the
request. The calling process has already created all of the timers it
is allowed.
[EINVAL]
The specified clock ID is not defined.
SEE ALSO
Functions: clock_getres(3), clock_gettime(3), clock_settime(3),
timer_delete(3), timer_gettime(3), timer_settime(3)
Guide to Realtime Programming
 |
Index for Section 3 |
|
 |
Alphabetical listing for T |
|
 |
Top of page |
|