Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


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.

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")

NetBSD 10.99                     May 19, 2010                     NetBSD 10.99