Penguin

Differences between current version and revision by previous author of setitimer(2).

Other diffs: Previous Major Revision, Previous Revision, or view the Annotated Edit History

Newer page: version 5 Last edited on Monday, October 28, 2002 9:16:30 pm by PerryLorier
Older page: version 4 Last edited on Tuesday, June 4, 2002 12:23:46 am by perry Revert
@@ -1,147 +1,64 @@
 GETITIMER 
 !!!GETITIMER 
-NAME  
-SYNOPSIS  
-DESCRIPTION  
-RETURN VALUE  
-ERRORS  
-CONFORMING TO  
-SEE ALSO  
-BUGS  
 ---- 
 !!NAME 
-  
  
 getitimer, setitimer - get or set value of an interval timer 
 !!SYNOPSIS 
  
  
-__#include __ 
+ __#include <sys/time.h> __ 
  
-  
- __int getitimer(int__ ''which''__, struct itimerval  
- *__''value''__);__  
-  
-  
-__int setitimer(int__ ''which''__, const struct  
- itimerval *__''value''__, struct itimerval  
- *__''ovalue''__);__ 
+ __int getitimer(int__ ''which''__, struct itimerval *__''value''__);__  
+ __int setitimer(int__ ''which''__, const struct itimerval *__''value''__, struct itimerval *__''ovalue''__);__ 
 !!DESCRIPTION 
-  
  
 The system provides each process with three interval timers, 
 each decrementing in a distinct 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 expiration.  
-  
-  
- __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 usually used to profile  
- the time spent by the application in user and kernel space.  
-__SIGPROF__ is delivered upon expiration.  
-  
+; __ITIMER_REAL__: decrements in real time, and delivers __SIGALRM__ upon expiration.  
+; __ITIMER_VIRTUAL__: decrements only when the process is executing, and delivers __SIGVTALRM__ upon expiration.  
+; __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 usually 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 */  
+ };  
  
-struct itimerval {  
-struct timeval it_interval; /* next value */  
-struct timeval it_value; /* current value */  
-};  
-struct timeval {  
-long tv _sec; /* seconds */  
-long tv _usec; /* microseconds */  
-};  
+getitimer(2) 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. setitimer(2) 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) stops.  
  
-Getitimer(2) 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.  
-Setitimer(2) sets the indicated timer to the value in  
-''value''. If ''ovalue'' is nonzero, the old value of  
-the timer is stored there
+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 expiration, 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.  
  
-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) stops.  
-  
-  
-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  
-expiration, 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.  
 !!RETURN VALUE 
  
-  
- On success, zero is returned. On error, -1 is returned, and  
- ''errno'' is set appropriately. 
+On success, zero is returned. On error, -1 is returned, and ''errno'' is set appropriately. 
 !!ERRORS 
  
+;[EFAULT]: ''value'' or ''ovalue'' are not valid pointers.  
+;[EINVAL]: ''which'' is not one of __ITIMER_REAL__, __ITIMER_VIRT__, or __ITIMER_PROF__.  
  
-__EFAULT__  
-  
-  
-''value'' or ''ovalue'' are not valid  
-pointers.  
-  
-  
-__EINVAL__  
-  
-  
-''which'' is not one of __ITIMER_REAL__,  
-__ITIMER_VIRT__, or __ITIMER_PROF__.  
 !!CONFORMING TO 
  
+SVr4, 4.4BSD (This call first appeared in 4.2BSD).  
  
-SVr4, 4.4BSD (This call first appeared in  
-4.2BSD).  
 !!SEE ALSO 
  
+gettimeofday(2), sigaction(2), signal(2)  
  
-gettimeofday(2), sigaction(2),  
-signal(2)  
 !!BUGS 
  
-  
- 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  
- pathologically 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.  
-----  
+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 pathologically 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. 
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.