Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ timer_create(3) — Tru64 UNIX 5.1b

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

clock_getres(3)

clock_gettime(3)

clock_settime(3)

timer_delete(3)

timer_gettime(3)

timer_settime(3)

timer_create(3)  —  Subroutines

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.

∗evpA 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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026