1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
|
.\" Copyright 7/93 by Darren Senn <sinster@scintilla.santa-clara.ca.us>
.\" Based on a similar page Copyright 1992 by Rick Faith
.\" May be freely distributed
.\" Modified Tue Oct 22 00:22:35 EDT 1996 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified 19 Dec 1997 Miguel Gil (mgilgar@usa.net)
.TH GETITIMER 2 "Agosto 5, 1993" "Linux 0.99.11" "Manual del programador de Linux"
.SH NOMBRE
getitimer, setitimer \- obtiene/asigna el valor de un temporizador
.SH SINOPSIS
.PD 0
.HP
.B #include <sys/time.h>
.sp
.HP
.B int getitimer(int
.IB which ,
.B struct itimerval
.BI * value );
.HP
.B int setitimer(int
.IB which ,
.B const struct itimerval
.BI * value ,
.B struct itimerval
.BI * ovalue );
.PD
.SH DESCRIPCIN
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 enva una seal al
proceso, y el temporizador (potencialmente) vuelve a empezar.
.TP 1.5i
.B ITIMER_REAL
se decrementa en tiempo real, y enva
.B SIGALRM
al expirar.
.TP
.B ITIMER_VIRTUAL
se decrementa solo cuando el proceso esta ejecutndose, y enva
.B SIGVTALRM
al expirar.
.TP
.B ITIMER_PROF
se decrementa tanto cuando el proceso
esta ejecutndose como cuando el
sistema esta trabajando en nombre
del proceso.
Asociado con
.BR ITIMER_VIRTUAL ,
este temporizador suele usarse para analizar el tiempo consumido por la aplicacin en el espacio de usuario y en espacio del nucleo
.B SIGPROF
es enviado al expirar.
.LP
Los valores del temporizador estan definidos en los siguientes tipos de datos:
.PD 0
.RS .5i
.nf
struct itimerval {
struct timeval it_interval; /* valor prximo */
struct timeval it_value; /* valor actual */
};
struct timeval {
long tv_sec; /* segundos */
long tv_usec; /* microsegundos */
};
.fi
.RE
.PD
.LP
.BR Getitimer (2)
rellena la estructura indicada por
.I value
con el valor actual para el temporizador especificado por
.I which
(uno de estos:
.BR ITIMER_REAL ,
.BR ITIMER_VIRTUAL ,
o
.BR ITIMER_PROF ).
El elemento
.B it_value
es inicializado a la cantidad de tiempo que le falta al temporizador, o cero si el temporizador
esta deshabilitado. De forma similar,
.B it_interval
es iniciazliado a un valor por defecto.
.BR Setitimer (2)
inicializa el temporizador especificado al valor en
.IR value .
Si
.I ovalue
no es cero, el antiguo valor del temporizador es almacenado alli.
.LP
Los temporizadore se decrementan desde
.I it_value
a cero, generan una seal, y se inicializan a
.IR it_interval .
Un temporizador al que se le asigna el valor cero
.RI ( it_value
es cero o el temporizador expira y
.I it_interval
es cero) finaliza.
.LP
.I tv_sec
y
.I tv_usec
son significativos en la determinacin de la duracin del temporizador.
.LP
Los temporizadores nunca expiran antes del tiempo especificado,
lo hacen un tiempo constante poco despus, dependiente
de la resolucin del temporizador del sistema (actualmente 10ms). En el momento de la expiracin, una
seal ser generada y el temporizador ser inicializado. Si el temporizador expira
mientrs el proceso esta activo (siempre cierto para
.BR ITIMER_VIRT )
la seal ser enviada inmediatamente al generarse. De otra modo el
envio ser aplazado hasta un tiempo despus dependiente de la carga de trabajo del sistema.
.LP
.SH "VALOR DEVUELTO"
En caso de xito, devuelve 0. En caso de error, devuelve , \-1 y
.I errno
es asignada apropiadamente.
.SH ERRORES
.TP 1.5i
.B EFAULT
.I value
o
.I ovalue
no son punteros vlidos.
.TP
.B EINVAL
.I which
no es uno de
.BR ITIMER_REAL ,
.BR ITIMER_VIRT ,
o
.BR ITIMER_PROF .
.SH CONFORME A
SVr4, 4.4BSD (Esta llamada al sistema apareci por primera vez en 4.2BSD).
.SH "VER TAMBIEN"
.BR gettimeofday (2),
.BR sigaction (2),
.BR signal (2).
.SH BUGS
En Linux, la generacin y envio de una seal son acciones distintas, y
para cada seal solo se permite un evento. Es, por lo tanto, posible que en condiciones extremas de sobrecarga,
.B ITIMER_REAL
expire antes de que la seal de una anterior expiracin haya sido enviada.
La segunda seal, en esta situacin, ser perdida.
|