Provided by: manpages-es_1.55-10_all bug

NOMBRE

       getitimer, setitimer - obtiene/asigna el valor de un temporizador

SINOPSIS

       #include <sys/time.h>

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

DESCRIPCIÓN

       El  sistema  proporciona  a  cada  proceso  3 temporizadores, los cuales se decrementan en
       distintas escalas de tiempo.  Cuando ha pasado el  intervalo  de  tiempo  definido  en  el
       temporizador,  se  envía una señal al proceso, y el temporizador (potencialmente) vuelve a
       empezar.

       ITIMER_REAL    se decrementa en tiempo real, y envía SIGALRM al expirar.

       ITIMER_VIRTUAL se decrementa solo cuando el proceso esta ejecutándose, y  envía  SIGVTALRM
                      al expirar.

       ITIMER_PROF    se  decrementa  tanto  cuando  el  proceso esta ejecutándose como cuando el
                      sistema esta trabajando en nombre del proceso.
                       Asociado con ITIMER_VIRTUAL, este temporizador suele usarse para  analizar
                      el tiempo consumido por la aplicación en el espacio de usuario y en espacio
                      del nucleo SIGPROF es enviado al expirar.

       Los valores del temporizador estan definidos en los siguientes tipos de datos:
            struct itimerval {
                struct timeval it_interval; /* valor próximo */
                struct timeval it_value;    /* valor actual */
            };
            struct timeval {
                long tv_sec;                /* segundos */
                long tv_usec;               /* microsegundos */
            };

       La función getitimer rellena la estructura indicada por value con el valor actual para  el
       temporizador  especificado  por  which  (uno  de  estos:  ITIMER_REAL,  ITIMER_VIRTUAL,  o
       ITIMER_PROF).  El elemento it_value es inicializado a la cantidad de tiempo que  le  falta
       al  temporizador,  o  cero  si  el  temporizador  esta  deshabilitado.  De  forma similar,
       it_interval es iniciazliado a un valor por defecto.  La función  setitimer  inicializa  el
       temporizador  especificado  al valor en value.  Si ovalue no es cero, el antiguo valor del
       temporizador es almacenado alli.

       Los temporizadore  se  decrementan  desde  it_value  a  cero,  generan  una  señal,  y  se
       inicializan a it_interval.  Un temporizador al que se le asigna el valor cero (it_value es
       cero o el temporizador expira y it_interval es cero) finaliza.

       tv_sec y tv_usec son significativos en la determinación de la duración del temporizador.

       Los temporizadores nunca expiran  antes  del  tiempo  especificado,  lo  hacen  un  tiempo
       constante  poco  después,  dependiente  de  la  resolución  del  temporizador  del sistema
       (actualmente 10ms).  En el momento  de  la  expiración,  una  señal  será  generada  y  el
       temporizador será inicializado.  Si el temporizador expira mientrás el proceso esta activo
       (siempre cierto para ITIMER_VIRT) la señal será enviada inmediatamente al  generarse.   De
       otra  modo  el  envio  será  aplazado  hasta  un tiempo después dependiente de la carga de
       trabajo del sistema.

VALOR DEVUELTO

       En caso de éxito, devuelve 0. En caso de  error,  devuelve  ,  -1   y  errno  es  asignada
       apropiadamente.

ERRORES

       EFAULT value o ovalue no son punteros válidos.

       EINVAL which no es uno de ITIMER_REAL, ITIMER_VIRT, o ITIMER_PROF.

CONFORME A

       SVr4, 4.4BSD (Esta llamada al sistema apareció por primera vez en 4.2BSD).

VÉASE TAMBIÉN

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

FALLOS

       En  Linux,  la  generación  y envio de una señal son acciones distintas, y para cada señal
       solo se permite un evento. Es, por lo  tanto,  posible  que  en  condiciones  extremas  de
       sobrecarga,  ITIMER_REAL expire antes de que la señal de una anterior expiración haya sido
       enviada.  La segunda señal, en esta situación, será perdida.