GETITIMER(2)	    UNIX Programmer's Manual	     GETITIMER(2)


NAME
     getitimer, setitimer - get/set value of interval timer

SYNOPSIS
     #include <sys/time.h>

     #define ITIMER_REAL      0    /* real time intervals */
     #define ITIMER_VIRTUAL   1    /* virtual time intervals */
     #define ITIMER_PROF      2    /* user and system virtual time */

     getitimer(which, value)
     int which;
     struct itimerval *value;

     setitimer(which, value, ovalue)
     int which;
     struct itimerval *value, *ovalue;

DESCRIPTION
     The system provides each process with three interval timers,
     defined in <sys/time.h>.  The getitimer call returns the
     current value for the timer specified in which in the struc-
     ture at value.  The setitimer call sets a timer to the
     specified value (returning the previous value of the timer
     if ovalue is nonzero).

     A timer value is defined by the itimerval structure:

	  struct itimerval {
	       struct	 timeval it_interval;	  /* timer interval */
	       struct	 timeval it_value;   /* current value */
	  };

     If it_value is non-zero, it indicates the time to the next
     timer expiration. If it_interval is non-zero, it specifies a
     value to be used in reloading it_value when the timer
     expires.  Setting it_value to 0 disables a timer.	Setting
     it_interval to 0 causes a timer to be disabled after its
     next expiration (assuming it_value is non-zero).

     Time values smaller than the resolution of the system clock
     are rounded up to this resolution (on the VAX, 10 mil-
     liseconds).

     The ITIMER_REAL timer decrements in real time.  A SIGALRM
     signal is delivered when this timer expires.

     The ITIMER_VIRTUAL timer decrements in process virtual time.
     It runs only when the process is executing.  A SIGVTALRM
     signal is delivered when it expires.


Printed 11/26/99	 August 26, 1985			1


GETITIMER(2)	    UNIX Programmer's Manual	     GETITIMER(2)


     The ITIMER_PROF timer decrements both in process virtual
     time and when the system is running on behalf of the pro-
     cess.  It is designed to be used by interpreters in statist-
     ically profiling the execution of interpreted programs.
     Each time the ITIMER_PROF timer expires, the SIGPROF signal
     is delivered.  Because this signal may interrupt in-progress
     system calls, programs using this timer must be prepared to
     restart interrupted system calls.

NOTES
     Three macros for manipulating time values are defined in
     <sys/time.h>.  Timerclear sets a time value to zero, timer-
     isset tests if a time value is non-zero, and timercmp com-
     pares two time values (beware that >= and <= do not work
     with this macro).

NOTES  (PDP-11)
     On the PDP-11, setitimer rounds timer values up to seconds
     resolution.  (This saves some space and computation in the
     overburdened PDP-11 kernel.)

RETURN VALUE
     If the calls succeed, a value of 0 is returned.  If an error
     occurs, the value -1 is returned, and a more precise error
     code is placed in the global variable errno.

ERRORS
     The possible errors are:

     [EFAULT]	    The value parameter specified a bad address.

     [EINVAL]	    A value parameter specified a time was too
		    large to be handled.

SEE ALSO
     sigvec(2), gettimeofday(2)


Printed 11/26/99	 August 26, 1985			2


 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 1417
Valid CSS Valid XHTML 1.0 Strict