timer_getoverrun(2) System Calls Manual timer_getoverrun(2) NOM timer_getoverrun - Obtenir le nombre de depassements d'une minuterie POSIX d'un processus BIBLIOTHEQUE Bibliotheque de temps reel (librt, -lrt) SYNOPSIS #include int timer_getoverrun(timer_t timerid); Exigences de macros de test de fonctionnalites pour la glibc (consulter feature_test_macros(7)) : timer_getoverrun() : _POSIX_C_SOURCE >= 199309L DESCRIPTION timer_getoverrun() renvoie le compteur de depassements pour la minuterie indiquee par timerid. Une application peut utiliser le compteur de depassements pour calculer avec precision le nombre d'expiration qui se seraient ecoulee dans un intervalle de temps donne. Les depassements de minuterie peuvent survenir lors de la reception 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 depassements peuvent survenir de cette facon. Qu'un signal temps reel soit utilise ou non pour les notifications de la minuterie, le systeme empile au plus un signal par minuterie. (Il s'agit du comportement specifie par POSIX.1. L'alternative, empiler un signal pour chaque expiration de minuterie, pourrait facilement depasser les limites permises pour l'empilement de signaux sur le systeme.) Pour des raisons de delais d'ordonnancement, ou parce que le signal peut avoir ete bloque pendant un moment, il peut y avoir un delai entre le moment ou le signal de notification est produit et le moment ou il est recu (par le gestionnaire de signal) ou accepte (par exemple en utilisant sigwaitinfo(2)). Dans cet intervalle, d'autres expirations de minuterie peuvent survenir. Le compteur de depassements de la minuterie correspond au nombre d'expirations supplementaires qui se sont produites entre le moment ou le signal a ete produit et le moment ou il a ete recu ou accepte. Les depassements de minuterie peuvent aussi se produire lorsque les notifications d'expirations sont fournies par un appel a un thread puisqu'il peut y avoir un delai arbitraire entre l'expiration de la minuterie et l'execution du thread de notification et que dans l'intervalle de ce delai, d'autres expirations de minuterie peuvent se produire. VALEUR RENVOYEE S'il reussit, timer_getoverrun() renvoie le compteur d'expirations de la minuterie indiquee ; ce compteur peut valoir 0 si aucune expiration n'a eu lieu. S'il echoue, il renvoie -1 et ecrit errno en consequence. 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 depassements par le champ si_overrun de la structure siginfo_t (consultez sigaction(2)). Ce permet a une application d'eviter le surcout d'un appel systeme pour obtenir le compteur de depassements, mais est une extension a POSIX.1 non portable. POSIX.1 ne mentionne les depassements 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 specifie que si le compteur de depassements de la minuterie est superieur ou egal au maximum defini par l'implementation (DELAYTIMER_MAX), alors timer_getoverrun() devrait renvoyer DELAYTIMER_MAX. Cependant, avant Linux 4.19, si le nombre de depassements depasse l'entier le plus grand representable, le compteur redemarre a partir des petites valeurs. Depuis Linux 4.19, timer_getoverrun() renvoie DELAYTIMER_MAX (defini en tant que INT_MAX dans ) dans ce cas (et le nombre de depassements est remis a 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 francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Cedric Boutillier , Frederic Hantrais et Jean-Pierre Giraud Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 timer_getoverrun(2)