Penguin

Differences between current version and predecessor to the previous major change of getitimer(2).

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

Newer page: version 6 Last edited on Monday, December 30, 2002 4:19:09 am by PerryLorier
Older page: version 4 Last edited on Tuesday, June 4, 2002 12:23:41 am by perry Revert
@@ -1,147 +1,51 @@
-GETITIMER  
-!!!GETITIMER  
-NAME  
-SYNOPSIS  
-DESCRIPTION  
-RETURN VALUE  
-ERRORS  
-CONFORMING TO  
-SEE ALSO  
-BUGS  
-----  
 !!NAME 
-  
-  
- getitimer, setitimer - get or set value of an interval timer 
+getitimer - get value of an interval timer 
 !!SYNOPSIS 
+ __#include <sys/time.h>__  
+ __int getitimer(int__ ''which''__, struct itimerval *__''value''__);__  
  
-  
-__#include __  
-  
-  
-__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.  
  
+Timer values are defined by the following structures:  
  
-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.  
+ struct itimerval {  
+ struct timeval it_interval; /* next value */  
+ struct timeval it_value; /* current value */  
+ };  
  
+ struct timeval {  
+ long tv_sec; /* seconds */  
+ long tv_usec; /* microseconds */  
+ };  
  
-__ITIMER_REAL__  
  
+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.  
  
-decrements in real time , and delivers __SIGALRM_ _ upon  
-expiration
+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.  
  
-__ITIMER_VIRTUAL __ 
+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.  
  
-  
-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 */  
-};  
-  
-  
-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.  
-  
-  
-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).  
  
+!!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.  
  
-SVr4, 4.4BSD (This call first appeared in  
-4.2BSD).  
 !!SEE ALSO 
-  
-  
- 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.  
-----  
+gettimeofday(2), sigaction(2), signal(2) 
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.