File: getitimer.2

package info (click to toggle)
manpages-es 1.55-4
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 7,472 kB
  • ctags: 6
  • sloc: sh: 1,349; makefile: 63
file content (149 lines) | stat: -rw-r--r-- 4,201 bytes parent folder | download | duplicates (4)
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
147
148
149
.\" 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 "5 agosto 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 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.
.TP 1.5i
.B ITIMER_REAL
se decrementa en tiempo real, y envía
.B SIGALRM
al expirar.
.TP
.B ITIMER_VIRTUAL
se decrementa solo cuando el proceso esta ejecutándose, y envía
.B SIGVTALRM
al expirar.
.TP
.B ITIMER_PROF
se decrementa tanto cuando el proceso 
esta ejecutándose 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 aplicación 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 próximo */
    struct timeval it_value;    /* valor actual */
};
struct timeval {
    long tv_sec;                /* segundos */
    long tv_usec;               /* microsegundos */
};
.fi
.RE
.PD
.LP
La función
.B getitimer 
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.
La función
.B setitimer 
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 señal, 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 determinación de la duración del temporizador.
.LP
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
.BR 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.
.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
.B EFAULT
.I value
o
.I ovalue
no son punteros válidos.
.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 "VÉASE TAMBIÉN"
.BR gettimeofday (2),
.BR sigaction (2),
.BR signal (2)
.SH 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,
.B 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.