Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ getitimer(3C) — svr4 — mips UMIPS RISC/os 5.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

alarm(2)

gettimeofday(3C)



GETITIMER(3C-SVR4)  RISC/os Reference Manual   GETITIMER(3C-SVR4)



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, regard-
     less 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



                        Printed 11/19/92                   Page 1





GETITIMER(3C-SVR4)  RISC/os Reference Manual   GETITIMER(3C-SVR4)



                       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.

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:

     BEINVAL   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 system call.

     Do not use setitimer with the sleep routine.  A  sleep  fol-
     lowing  a  setitimer  wipes out knowledge of the user signal
     handler.





















 Page 2                 Printed 11/19/92



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