Provided by: manpages-fr-dev_4.23.1-1_all bug

NOM

       timer_getoverrun - Obtenir le nombre de dépassements d'une minuterie POSIX d'un processus

BIBLIOTHÈQUE

       Bibliothèque de temps réel (librt, -lrt)

SYNOPSIS

       #include <time.h>

       int timer_getoverrun(timer_t timerid);

   Exigences    de    macros    de   test   de   fonctionnalités   pour   la   glibc   (consulter
   feature_test_macros(7)) :

       timer_getoverrun() :
           _POSIX_C_SOURCE >= 199309L

DESCRIPTION

       timer_getoverrun() renvoie le compteur de dépassements  pour  la  minuterie  indiquée  par
       timerid.  Une  application  peut  utiliser  le compteur de dépassements pour calculer avec
       précision le nombre d'expiration qui se seraient  écoulée  dans  un  intervalle  de  temps
       donné.  Les  dépassements  de  minuterie  peuvent  survenir  lors  de  la  réception d'une
       notification par un signal (SIGEV_SIGNAL) ou par un thread (SIGEV_THREAD).

       Quand les notifications d'expiration sont fournies par un signal, les dépassements peuvent
       survenir  de  cette  façon.  Qu'un  signal  temps  réel  soit  utilisé  ou  non  pour  les
       notifications de la minuterie, le système empile au plus  un  signal  par  minuterie.  (Il
       s'agit  du comportement spécifié par POSIX.1. L'alternative, empiler un signal pour chaque
       expiration  de  minuterie,  pourrait  facilement  dépasser  les  limites   permises   pour
       l'empilement  de  signaux sur le système.) Pour des raisons de délais d'ordonnancement, ou
       parce que le signal peut avoir été bloqué pendant un moment, il  peut  y  avoir  un  délai
       entre  le moment où le signal de notification est produit et le moment où il est reçu (par
       le gestionnaire de signal) ou accepté (par exemple en utilisant sigwaitinfo(2)). Dans  cet
       intervalle,   d'autres   expirations   de  minuterie  peuvent  survenir.  Le  compteur  de
       dépassements de la minuterie correspond au nombre  d'expirations  supplémentaires  qui  se
       sont produites entre le moment où le signal a été produit et le moment où il a été reçu ou
       accepté.

       Les dépassements  de  minuterie  peuvent  aussi  se  produire  lorsque  les  notifications
       d'expirations  sont  fournies  par  un  appel  à un thread puisqu'il peut y avoir un délai
       arbitraire entre l'expiration de la minuterie et l'exécution du thread de notification  et
       que dans l'intervalle de ce délai, d'autres expirations de minuterie peuvent se produire.

VALEUR RENVOYÉE

       S'il  réussit,  timer_getoverrun()  renvoie  le  compteur  d'expirations  de  la minuterie
       indiquée ; ce compteur peut valoir 0 si aucune expiration n'a eu  lieu.  S'il  échoue,  il
       renvoie -1 et écrit errno en conséquence.

ERREURS

       EINVAL timerid n'est pas un identifiant de minuterie valable.

VERSIONS

       Lorsque  les  notifications  de minuterie sont fournies par des signaux (SIGEV_SIGNAL), il
       est possible sous Linux d'obtenir le compteur de dépassements par le champ  si_overrun  de
       la  structure  siginfo_t (consultez sigaction(2)). Ce permet à une application d'éviter le
       surcoût d'un appel système  pour  obtenir  le  compteur  de  dépassements,  mais  est  une
       extension à POSIX.1 non portable.

       POSIX.1  ne mentionne les dépassements de minuteries que dans le contexte de notifications
       de minuteries par des signaux.

STANDARDS

       POSIX.1-2008.

HISTORIQUE

       Linux 2.6. POSIX.1-2001.

BOGUES

       POSIX.1 spécifie que si le compteur de dépassements de la minuterie est supérieur ou  égal
       au  maximum défini par l'implémentation (DELAYTIMER_MAX), alors timer_getoverrun() devrait
       renvoyer DELAYTIMER_MAX. Cependant, avant Linux 4.19, si le nombre de dépassements dépasse
       l'entier  le plus grand représentable, le compteur redémarre à partir des petites valeurs.
       Depuis  Linux 4.19, timer_getoverrun() renvoie DELAYTIMER_MAX (défini en tant que  INT_MAX
       dans <limits.h>) dans ce cas (et le nombre de dépassements est remis à 0).

EXEMPLES

       Consultez timer_create(2).

VOIR AUSSI

       clock_gettime(2),     sigaction(2),    signalfd(2),    sigwaitinfo(2),    timer_create(2),
       timer_delete(2), timer_settime(2), signal(7), time(7)

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier   <barbier@debian.org>,   David   Prévot  <david@tilapin.org>,  Cédric  Boutillier
       <cedric.boutillier@gmail.com>,  Frédéric  Hantrais  <fhantrais@gmail.com>  et  Jean-Pierre
       Giraud <jean-pierregiraud@neuf.fr>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General
       Public  License  version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   concernant   les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.