Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

alarm(2)

gettimeofday(3C)



getitimer(3C)        COMPATIBILITY FUNCTIONS        getitimer(3C)



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

SYNOPSIS
     #include <sys/time.h>
     int getitimer(int which, struct itimerval *value);
     int setitimer(int which, struct itimerval *value, struct itimerval
         *ovalue);

DESCRIPTION
     The system provides each process with three interval timers,
     defined  in  sys/time.h.   The  getitimer  call  stores  the
     current value of the  timer  specified  by  which  into  the
     structure  pointed to by value.  The setitimer call sets the
     value of the timer specified by which to the value specified
     in  the  structure pointed to by value, and if ovalue is not
     NULL, stores the previous value of the timer in  the  struc-
     ture  pointed to by ovalue.  A timer value is defined by the
     itimerval structure [see gettimeofday(3C) for the definition
     of timeval], which includes the following members:
     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  zero  disables  a timer, regardless of the value of
it_interval.  Setting it_interval to zero disables a timer  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.  The three timers are:

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

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

     ITIMER_PROF       Decrements both in  process  virtual  time
                       and  when  the system is running on behalf
                       of the process. It is designed to be  used
                       by interpreters in statistically 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 sys-
                       tem calls, programs using this timer  must
                       be  prepared to restart interrupted system
                       calls.





                          Last change:                          1





getitimer(3C)        COMPATIBILITY FUNCTIONS        getitimer(3C)



SEE ALSO
     alarm(2), gettimeofday(3C).

DIAGNOSTICS
     If the calls succeed, a value of 0 is returned.  If an error
     occurs,  the  value  -1  is  returned,  and an error code is
     placed in the global variable errno.   Under  the  following
     conditions,  the  functions getitimer and setitimer fail and
     set errno to:

     EINVAL    The specified number of seconds  is  greater  than
               100,000,000, the number of microseconds is greater
               than or equal to 1,000,000, or the which parameter
               is unrecognized.

NOTES
     The microseconds field should not be  equal  to  or  greater
     than one second.  setitimer is independent of the alarm sys-
     tem call.  Do not use setitimer with the sleep  routine.   A
     sleep  following a setitimer wipes out knowledge of the user
     signal handler.


































                          Last change:                          2



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026