Unix/Linux Go Back    

RedHat 9 (Linux i386) - man page for getitimer (redhat section 2)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)

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

       getitimer, setitimer - get or set value of an interval timer

       #include <sys/time.h>

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

       The  system  provides each process with three interval timers, each decrementing in a dis-
       tinct time domain.  When any timer expires, a signal is sent to the process, and the timer
       (potentially) restarts.

       ITIMER_REAL    decrements in real time, and delivers SIGALRM upon expiration.

       ITIMER_VIRTUAL decrements  only when the process is executing, and delivers SIGVTALRM upon

       ITIMER_PROF    decrements both when the process executes and when the system is	executing
		      on  behalf of the process.  Coupled with ITIMER_VIRTUAL, this timer is usu-
		      ally used to profile the time spent by the application in user  and  kernel
		      space.  SIGPROF is delivered upon expiration.

       Timer values are defined by the following structures:
	    struct itimerval {
		struct timeval it_interval; /* next value */
		struct timeval it_value;    /* current value */
	    struct timeval {
		long tv_sec;		    /* seconds */
		long tv_usec;		    /* microseconds */

       The function getitimer fills the structure indicated by value with the current setting for
       the timer indicated by which (one of ITIMER_REAL, ITIMER_VIRTUAL,  or  ITIMER_PROF).   The
       element it_value is set to the amount of time remaining on the timer, or zero if the timer
       is disabled.  Similarly, it_interval is set to the reset value.	 The  function	setitimer
       sets  the  indicated  timer to the value in value.  If ovalue is nonzero, the old value of
       the timer is stored there.

       Timers decrement from it_value to zero, generate a signal, and reset  to  it_interval.	A
       timer which is set to zero (it_value is zero or the timer expires and it_interval is zero)

       Both tv_sec and tv_usec are significant in determining the duration of a timer.

       Timers will never expire before the requested time, instead expiring some short,  constant
       time  afterwards, dependent on the system timer resolution (currently 10ms).  Upon expira-
       tion, a signal will be generated and the timer reset.  If  the  timer  expires  while  the
       process	is  active (always true for ITIMER_VIRT) the signal will be delivered immediately
       when generated.	Otherwise the delivery will be offset by a small time  dependent  on  the
       system loading.

       On success, zero is returned.  On error, -1 is returned, and errno is set appropriately.

       EFAULT value or ovalue are not valid pointers.

       EINVAL which is not one of ITIMER_REAL, ITIMER_VIRT, or ITIMER_PROF.

       SVr4, 4.4BSD (This call first appeared in 4.2BSD).

       gettimeofday(2), sigaction(2), signal(2)

       Under  Linux,  the generation and delivery of a signal are distinct, and there each signal
       is permitted only one outstanding event.  It's therefore conceivable that under pathologi-
       cally  heavy loading, ITIMER_REAL will expire before the signal from a previous expiration
       has been delivered.  The second signal in such an event will be lost.

Linux 0.99.11				    1993-08-05				     GETITIMER(2)
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums

All times are GMT -4. The time now is 11:56 PM.