Provided by: manpages-fr-dev_4.13-4_all bug

NOM

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

SYNOPSIS

       #include <time.h>

       int timer_getoverrun(timer_t timerid);

       Éditer les liens avec -lrt.

   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).

       When expiration notifications are delivered via a signal, overruns can occur as  follows.  Regardless  of
       whether  or  not a real-time signal is used for timer notifications, the system queues at most one signal
       per timer. (This is the behavior specified by POSIX.1. The alternative, queuing one signal for each timer
       expiration, could easily result in overflowing the allowed limits for  queued  signals  on  the  system.)
       Because  of  system  scheduling  delays, or because the signal may be temporarily blocked, there can be a
       delay between the time when the notification signal is generated and the time when it is delivered (e.g.,
       caught by a signal handler) or accepted (e.g., using sigwaitinfo(2)). In  this  interval,  further  timer
       expirations  may  occur.  The  timer  overrun  count  is  the number of additional timer expirations that
       occurred between the time when the signal was generated and when it was delivered or accepted.

       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

       Cet appel système est disponible depuis Linux 2.6.

CONFORMITÉ

       POSIX.1-2001, POSIX.1-2008.

NOTES

       When timer notifications are delivered via signals (SIGEV_SIGNAL), on Linux it is also possible to obtain
       the  overrun count via the si_overrun field of the siginfo_t structure (see sigaction(2)). This allows an
       application to avoid the overhead of making a  system  call  to  obtain  the  overrun  count,  but  is  a
       nonportable extension to POSIX.1.

       POSIX.1 discusses timer overruns only in the context of timer notifications using signals.

BOGUES

       POSIX.1  specifies  that if the timer overrun count is equal to or greater than an implementation-defined
       maximum, DELAYTIMER_MAX, then timer_getoverrun()  should return  DELAYTIMER_MAX.  However,  before  Linux
       4.19,  if the timer overrun value exceeds the maximum representable integer, the counter cycles, starting
       once more from low values. Since Linux  4.19,  timer_getoverrun()   returns  DELAYTIMER_MAX  (defined  as
       INT_MAX in <limits.h>)  in this case (and the overrun value is reset to 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)

COLOPHON

       Cette page fait partie de la publication 5.10 du projet man-pages Linux. Une description du projet et des
       instructions pour signaler des anomalies et la dernière version de cette page  peuvent  être  trouvées  à
       l'adresse https://www.kernel.org/doc/man-pages/.

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>    et    Frédéric    Hantrais
       <fhantrais@gmail.com>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General Public License
       version 3 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.

Linux                                           21 décembre 2020                             TIMER_GETOVERRUN(2)