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  ⟨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 ⟨⟩.