timer_settime man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

TIMER_SETTIME(3C)					     TIMER_SETTIME(3C)

NAME
       timer_settime, timer_gettime, timer_getoverrun - per-process timers

SYNOPSIS
       #include <time.h>

       int timer_settime(timer_t timerid, int flags,
	    const struct itimerspec *restrict value,
	    struct itimerspec *restrict ovalue);

       int timer_gettime(timer_t timerid, struct itimerspec *value);

       int timer_getoverrun(timer_t timerid);

DESCRIPTION
       The timer_settime() function sets the time until the next expiration of
       the timer specified by timerid from the it_value member	of  the	 value
       argument and arm the timer if the it_value member of value is non-zero.
       If the specified	 timer	was  already  armed  when  timer_settime()  is
       called,	this  call  resets the time until next expiration to the value
       specified. If the it_value member of value is 0, the timer is disarmed.
       The  effect  of	disarming  or  resetting a timer on pending expiration
       notifications is unspecified.

       If the flag TIMER_ABSTIME is not set in the argument flags,  timer_set‐
       time()  behaves as if the time until next expiration is set to be equal
       to the interval specified by the it_value member of  value.   That  is,
       the  timer  expires in it_value nanoseconds from when the call is made.
       If the flag TIMER_ABSTIME is set in the argument flags, timer_settime()
       behaves	as if the time until next expiration is set to be 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 expires when the clock reaches the  value  specified
       by  the	it_value  member  of  value. If the specified time has already
       passed, the function succeeds 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  mul‐
       tiples  of  the resolution of the specified timer will be rounded up to
       the larger multiple of the  resolution.	Quantization  error  will  not
       cause the timer to expire earlier than the rounded 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 0 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 they
       are the same values that would be returned by a timer_gettime() call at
       that point in time.

       The timer_gettime() function stores the amount of time until the speci‐
       fied timer, timerid, expires and the reload value of the timer into the
       space  pointed  to  by  the value argument. The it_value member of this
       structure contains the amount of time before the timer expires, or 0 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  contains	 the  reload value last set by
       timer_settime().

       Only a single signal will be queued 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 will be queued, and a timer overrun occurs.  When  a
       timer  expiration  signal is delivered to or accepted by a process, the
       timer_getoverrun() function returns the timer expiration overrun	 count
       for  the specified timer.  The overrun count returned contains the num‐
       ber of extra timer expirations that occurred between the time the  sig‐
       nal was generated (queued) and when it was delivered or accepted, up to
       but  not	 including  an	implementation-dependent  maximum  of	DELAY‐
       TIMER_MAX.  If  the number of such extra expirations is greater than or
       equal to DELAYTIMER_MAX, then the overrun count will be set  to	DELAY‐
       TIMER_MAX. The value returned by timer_getoverrun() applies to the most
       recent expiration signal delivery or acceptance for the	timer.	If  no
       expiration  signal has been delivered for the timer, the meaning of the
       overrun count returned is undefined.

RETURN VALUES
       If the timer_settime()  or  timer_gettime()  functions  succeed,	 0  is
       returned.  If  an  error	 occurs	 for  either of these functions, −1 is
       returned, and errno is set to indicate the error. If the timer_getover‐
       run()  function succeeds, it returns the timer expiration overrun count
       as explained above.

ERRORS
       The timer_settime(), timer_gettime() and	 timer_getoverrun()  functions
       will fail if:

       EINVAL
		  The timerid argument does not correspond to a timer returned
		  by timer_create(3C) but not yet deleted by timer_delete(3C).

       ENOSYS
		  The timer_settime(), timer_gettime(), and timer_getoverrun()
		  functions  are  not  supported by the system. The timer_set‐
		  time() function will fail if:

       EINVAL
		  A value structure specified a	 nanosecond  value  less  than
		  zero or greater than or equal to 1000 million.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌────────────────────┬───────────────────┐
       │ATTRIBUTE TYPE	    │ ATTRIBUTE VALUE	│
       ├────────────────────┼───────────────────┤
       │Interface Stability │ Committed		│
       ├────────────────────┼───────────────────┤
       │MT-Level	    │ Async-Signal-Safe │
       ├────────────────────┼───────────────────┤
       │Standard	    │ See standards(5). │
       └────────────────────┴───────────────────┘

SEE ALSO
       time.h(3HEAD),  clock_settime(3C),  timer_create(3C), timer_delete(3C),
       attributes(5), standards(5)

				  Feb 5, 2008		     TIMER_SETTIME(3C)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net