timers.2 (2010 09)

t
timers(2) timers(2)
If the flag TIMER_ABSTIME
is set in the argument flags,
timer_settime() behaves as if the time
until next expiration is set equal to the difference between the absolute time specified by the it_value
member of value and the current value of the clock associated with timerid . That is, the timer will expire
when the clock reaches the value specified by the it_value member of value . If the specified time has
already passed, the function will succeed and the expiration notification is made.
The reload value of the timer is set to the value specified by the it_interval member of value . When a
timer is armed with a non-zero it_interval , a periodic (or repetitive) timer is specified.
Time values that are between two consecutive non-negative integer multiples of the resolution of the
specified timer are rounded up to the larger multiple of the resolution. A quantization error will not
cause the timer to expire earlier than the rounded-up time value.
If the argument ovalue is not NULL, the function
timer_settime() stores, in the location referenced
by ovalue , a value representing the previous amount of time before the timer would have expired or zero
if the timer was disarmed, together with the previous timer reload value. The members of ovalue are
subject to the resolution of the timer, and are the same values that would be returned by a
timer_gettime()
call at that point in time.
timer_gettime()
The
timer_gettime()
function stores the amount of time until the specified timer, timerid ,expires
and the timer’s reload value into the space pointed to by the value argument. The it_value member of
this structure will contain the amount of time before the timer expires, or zero if the timer is disarmed.
This value is returned as the interval until timer expiration, even if the timer was armed with absolute
time. The it_interval member of value will contain the reload value last set by
timer_settime()
.
timer_getoverrun()
Only a single signal is delivered to the process for a given timer at any point in time. When a timer for
which a signal is still pending expires, no signal is delivered, and a timer overrun has occurred. When a
timer expiration signal is delivered to a process, the
timer_getoverrun()
function returns the timer
expiration count for the specified timer. The overrun count returned contains the number of extra timer
expirations which occurred between the time the signal was generated and when it was delivered, up to
but not including an implementation defined maximum of
DELAYTIMER_MAX. If the number of such
extra expirations is greater than or equal to
DELAYTIMER_MAX
, then the overrun count is set to
DELAYTIMER_MAX. The value returned by
timer_getoverrun() applies to the most recent expira-
tion signal delivery for the timer. If no expiration signal has been delivered for the timer, the meaning of
the overrun count returned is undefined.
RETURN VALUE
Upon successful completion,
timer_create()
returns zero and updates the location referenced by
timerid to a timer_t which can be passed to the per-process timer calls. Otherwise,
timer_create()
returns 1 and sets errno to indicate the error. The value of timerid is undefined if an error occurs.
Upon successful completion,
timer_delete()
returns zero. Otherwise, timer_delete() returns
1 and sets
errno to indicate the error.
Upon successful completion,
timer_settime() returns zero and updates the location referenced by
ovalue ,ifovalue is non-NULL.
Upon successful completion,
timer_gettime() returns zero and updates the location referenced by
value ,ifovalue is non-NULL. Otherwise, timer_gettime() returns 1 and sets errno to indicate
the error.
Upon successful completion,
timer_getoverrun() returns the timer expiration overrun count as
explained above. Otherwise, timer_getoverrun() returns 1 and sets errno to indicate the error.
ERRORS
If any of the following conditions occur, the
timer_create() function returns 1 and sets errno (see
errno(2)) to the corresponding value:
[EAGAIN] The system lacks sufficient signal queuing resources to honor the request.
[EAGAIN] The calling process has already created all of the timers it is allowed by this implemen-
tation.
[EINVAL] The specified clock ID is not defined.
2 Hewlett-Packard Company 2 HP-UX 11i Version 3: September 2010