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 161 162 163
|
.\" 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 / crire 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 systme fournit pour chaque processus trois temporisations, chacune avec
un fonctionnement particulier.
Lorsqu'une temporisation expire, un signal est envoy au processus
et la temporisation redmarre ventuellement.
.TP 1.5i
.B ITIMER_REAL
dcrot en temps rel et un signal
.B SIGALRM
est mis l'expiration du dlai.
.TP
.B ITIMER_VIRTUAL
dcrot uniquement quand le processus s'excute, et un signal
.B SIGVTALRM
est mis l'expiration du dlai.
.TP
.B ITIMER_PROF
dcrot la fois quand le processus s'excute, et quand le processeur
excute des fonctions systmes la demande du processus.
Ce timer, utilis conjointement avec
.BR ITIMER_VIRTUAL,
est gnralement utilis pour obtenir le profil d'excution du processus
entre les fonctionnalits utilisateur et le noyau.
.B SIGPROF
est mis l'expiration du dlai.
.LP
Les valeurs des temporisations sont dfinies 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 pointe par
.I value
avec le paramtrage de la temporisation
.I which
(parmi
.BR ITIMER_REAL ,
.BR ITIMER_VIRTUAL ,
ou
.BR ITIMER_PROF ).
L'lment
.B it_value
est rempli avec le dlai restant dans la temporisation, ou zro si la
temporisation est dsactive. De mme
.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 paramtres prcdents de la temporisation y sont
inscrits.
.LP
Les temporisations dcroissent de
.I it_value
zro, dclenchent un signal, et sont replaces
.IR it_interval .
Une temporisation s'arrte si elle est mise zro
.RI (it_value
vaut zro) ou bien elle expire et
.I it_interval
vaut zro.
.LP
Les deux champs
.I tv_sec
et
.I tv_usec
sont utiliss pour dterminer la dure d'une temporisation.
.LP
Les temporisations n'expirent jamais avant la fin du temps
requis, et expirent plutt avec un dlai court et constant
aprs la limite. Ce dlai dpend de la rsolution du timer
systme (actuellement 10 ms).
A l'expiration un signal est dclench puis la temporisation
rinitialise.
Si la temporisation expire alors que le processus est actif
(toujours vrai avec
.BR ITIMER_VIRT)
le signal sera dlivr immdiatement. Autrement il y aura
un petit dlai avant rception du signal, dpendant de la
charge du systme.
.LP
.SH "VALEUR RENVOYE"
.BR getitimer " et " setitimer
renvoient 0 s'ils russissent, ou \-1 s'ils chouent, 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 CONFORMIT
SVr4, 4.4BSD (Cet appel est apparu dans 4.2BSD).
.SH "VOIR AUSSI"
.BR gettimeofday (2),
.BR sigaction (2),
.BR signal (2).
.SH BUGS
Sous Linux, l'mission et la rception d'un signal sont distincts, et
un mme signal ne peut pas tre mis deux fois de suite si le premier
n'a pas t reu.
Il est ainsi possible qu'avec une charge systme trs leve,
une temporisation
.B ITIMER_REAL
expire avant que le signal d'une expiration prcdente n'ait t reu.
Le second signal sera alors perdu.
.SH TRADUCTION
Christophe Blaess, 1997.
|