NAME
timer_create —
create a per-process
timer
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <time.h>
#include <signal.h>
int
timer_create(
clockid_t
clockid,
struct sigevent *
restrict evp,
timer_t *
restrict timerid);
DESCRIPTION
The
timer_create() function creates a per-process timer using
the clock specified in the
clockid argument. If it
succeeds, the
timer_create() function fills in the
timerid argument with an id associated with the timer
created that can be used by other timer related calls. The
clockid must be a valid clock id as defined in
<time.h>. The timer is created in a
disarmed state.
An optional (non-
NULL
)
struct sigevent
argument can be specified by the
evp argument. If the
evp argument is
NULL
, then
evp->sigev_notify defaults to
SIGEV_SIGNAL
and
evp->sigev_value is set to
timerid. Refer to
sigevent(3) for more details.
NOTES
Timers are not inherited after a
fork(2) and are disarmed and
deleted by an
exec(3).
RETURN VALUES
If successful, the
timer_create() function returns 0, and
fills in the
timerid argument with the id of the new
timer that was created. Otherwise, it returns -1, and sets
errno
to indicate the error.
ERRORS
The
timer_create() function will fail if:
-
-
- [
EAGAIN
]
- The system is out of resources to satisfy this request, or
the process has created all the timers it is allowed.
-
-
- [
EINVAL
]
- The argument clockid is not a valid
clock id.
SEE ALSO
clock_getres(2),
clock_gettime(2),
clock_settime(2),
timer_delete(2),
timer_getoverrun(2),
timer_gettime(2),
timer_settime(2),
sigevent(3)
STANDARDS
IEEE Std 1003.1b-1993 (“POSIX.1b”),
IEEE Std 1003.1i-1995 (“POSIX.1i”)