| 
TIMER_CREATE(2) | 
System Calls Manual | 
TIMER_CREATE(2) | 
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.
 
 
STANDARDS
 IEEE Std 1003.1b-1993 (“POSIX.1”), IEEE Std 1003.1i-1995 (“POSIX.1”)