File: getitimer.2

package info (click to toggle)
manpages-fr 0.5-3
  • links: PTS
  • area: main
  • in suites: slink
  • size: 4,236 kB
  • ctags: 4
  • sloc: makefile: 55
file content (160 lines) | stat: -rw-r--r-- 4,153 bytes parent folder | download | duplicates (2)
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
150
151
152
153
154
155
156
157
158
159
160
.\" 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
.\" 
.\" Traduction  11/10/1996 Christophe BLAESS (ccb@club-internet.fr)
.\" Mise a jour 8/04/97
.TH GETITIMER 2 "8 Avril 1997" "Linux" "Manuel du programmeur Linux"
.SH NOM
getitimer, setitimer \- Lire / ecrire la valeur d'une temporisation.
.SH SYNOPSIS
.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 DESCRIPTION
Le systeme fournit pour chaque processus trois temporisations, chacune avec
un fonctionnement particulier.
Lorsqu'une temporisation expire, un signal est envoye au processus 
et la temporisation redemarre eventuellement.
.TP 1.5i
.B ITIMER_REAL
decroit en temps reel et un signal
.B SIGALRM
est emis a l'expiration du delai.
.TP
.B ITIMER_VIRTUAL
decroit uniquement quand le processus s'execute, et un signal
.B SIGVTALRM
est emis a l'expiration du delai.
.TP
.B ITIMER_PROF
decroit a la fois quand le processus s'execute, et quand le processeur
execute des fonctions systemes a la demande du processus.
Ce timer, utilise conjointement avec
.BR ITIMER_VIRTUAL,
est generalement utilise pour obtenir le profil d'execution du processus
entre les fonctionnalites utilisateur et le noyau.
.B SIGPROF
est emis a l'expiration du delai.
.LP
Les valeurs des temporisations sont definies avec les structures suivantes :
.PD 0
.RS .5i
.nf

struct itimerval {
  struct timeval it_interval; /* valeur suivante */
  struct timeval it_value;    /* valeur actuelle */
};

struct timeval {
  long tv_sec;                /* secondes        */
  long tv_usec;               /* micro secondes  */
};
.fi
.RE
.PD
.LP
.BR Getitimer (2)
renseigne la structure pointee par
.I value
avec le parametrage de la temporisation
.I which
(parmi
.BR ITIMER_REAL ,
.BR ITIMER_VIRTUAL ,
ou
.BR ITIMER_PROF ).
L'element
.B it_value
est rempli avec le delai restant dans la temporisation, ou zero si la
temporisation est desactivee. De meme
.B it_interval
sera rempli avec la valeur originale de la temporisation.

.BR Setitimer (2)
positionne la temporisation avec les valeurs de
.IR value .
Si
.I ovalue
est non nulle, les parametres precedents de la temporisation y sont
inscrits.
.LP
Les temporisations decroissent de
.I it_value
a zero, declenchent un signal, et sont replacees a
.IR it_interval .
Une temporisation s'arrete si elle est mise a zero
.RI (it_value
vaut zero) ou bien elle expire et
.I it_interval
vaut zero.
.LP
Les deux champs
.I tv_sec
et
.I tv_usec
sont utilises pour determiner la duree d'une temporisation.
.LP
Les temporisations n'expirent jamais avant la fin du temps
requis, et expirent plutot avec un delai court et constant
apres la limite. Ce delai depend de la resolution du timer
systeme (actuellement 10 ms).
A l'expiration un signal est declenche puis la temporisation
reinitialisee.
Si la temporisation expire alors que le processus est actif
(toujours vrai avec
.BR ITIMER_VIRT)
le signal sera delivre immediatement. Autrement il y aura
un petit delai avant reception du signal, dependant de la
charge du systeme.
.LP
.SH "VALEUR RENVOYEE"
.BR getitimer " et " setitimer
renvoient 0 s'ils reussissent, ou \-1 s'ils echouent, auquel cas
.I errno
contient le code d'erreur.
.SH ERREURS
.TP 1.5i
.B EFAULT
.I value
ou
.I ovalue
pointent en dehors de l'espace d'adressage accessible.
.TP
.B EINVAL
.I which
n'est pas dans la liste
.BR ITIMER_REAL ,
.BR ITIMER_VIRT ,
ou
.BR ITIMER_PROF .
.SH CONFORMITE
SVr4, 4.4BSD (Cet appel est apparue dans 4.2BSD).
.SH "VOIR AUSSI"
.BR gettimeofday (2),
.BR sigaction (2),
.BR signal (2).
.SH BUGS
Sous Linux, l'emission et la reception d'un signal sont distincts, et
un meme signal ne peut pas etre emis deux fois de suite si le premier
n'a pas ete recu.
Il est aussi possible qu'avec une charge systeme tres elevee, 
une temporisation
.B ITIMER_REAL
expire avant que le signal d'une expiration precedente n'ait ete recu.
Le second signal sera alors perdu.