timer_getoverrun

TIMER_GETOVERRUN(2)       Manuel du programmeur Linux      TIMER_GETOVERRUN(2)



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

       Effectuez l'édition des liens avec l'option -lrt.

   Exigences de macros de test de fonctionnalités pour la glibc (consultez
   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-2001. 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 ou le signal de notification est produit et
       le moment ou 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 ou 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
       Cet appel système est disponible depuis Linux 2.6.

CONFORMITÃ
       POSIX.1-2001.

NOTES
       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-2001 non portable.

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

BOGUES
       POSIX.1-2001 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 Linux n'implémente pas cette
       fonctionnalité : à la place, si le nombre de dépassements dépasse
       l'entier le plus grand représentable, le compteur redémarre à partir
       des petites valeurs.

EXEMPLE
       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 3.70 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler des
       anomalies peuvent être trouvées à l'adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION
       Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
       <http://po4a.alioth.debian.org/> par l'équipe de traduction
       francophone au sein du projet perkamon
       <http://perkamon.alioth.debian.org/>.

       Nicolas François et l'équipe francophone de traduction de
       Debian (2006-2009).

       Veuillez signaler toute erreur de traduction en écrivant Ã
       <perkamon-fr@traduc.org>.

       Vous pouvez toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».



Linux                          20 février 2009            TIMER_GETOVERRUN(2)