NAME
timer_create
—
create a per-process timer
LIBRARY
library “libc”
SYNOPSIS
#include <time.h>
#include <signal.h>
int
timer_create
(clockid_t
clockid, struct sigevent
* restrict evp, timer_t *
restrict timerid);
DESCRIPTION
Thetimer_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”)