UALARM(3)

NOM
ualarm - Programmer un signal après un nombre donné de microsecondes

SYNOPSIS
#include <unistd.h>

useconds_t ualarm(useconds_t usecs, useconds_t intervalle);

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

ualarm() : _BSD_SOURCE || _XOPEN_SOURCE >= 500

DESCRIPTION
La fonction ualarm() programme le signal SIGALRM pour qu'il soit envoyé au processus appelant après (au moins) usecs microsecondes. Le délai peut être légèrement allongé par la charge système, par le temps passé à traiter l'appel système, ou par la granularité des timers système.

À moins d'être capturé ou ignoré, le signal SIGALRM terminera le processus.

Si l'argument intervalle est non nul, d'autres signaux SIGALRM seront envoyés toutes les intervalle microsecondes après le premier.

VALEUR RENVOYÉE
Cette fonction renvoie le nombre de microsecondes restant pour toute alarme précédemment définie, ou zéro si aucune alarme n'est en attente.

ERREURS

EINTR
    Interruption par un signal.

EINVAL
    usecs ou intervalle est plus grand que 1 000 000 (1 seconde) (sur les systèmes qui considèrent qu'il s'agit d'une erreur).

CONFORMITÉ
BSD 4.3, POSIX.1-2001. POSIX.1-2001 marque ualarm() comme obsolète. BSD 4.3, SUSv2 et POSIX ne définissent pas d'erreurs.

NOTES
Le type useconds_t est un entier non signé capable de contenir des entiers dans l'intervalle [0,1000000]. Dans l'implémentation BSD originale et dans la glibc avant la version 2.1, les arguments de ualarm() étaient plutôt typés comme des unsigned int. Les programmes seront plus portables s'ils ne mentionnent jamais explicitement useconds_t.

Les interactions entre cette fonction et les autres temporisations comme alarm(2), sleep(3), nanosleep(2), setitimer(2), timer_create(3), timer_delete(3), timer_getoverrun(3), timer_gettime(3), timer_settime(3), usleep(3) n'est pas spécifiée.

Cette fonction est obsolète, utilisez setitimer(2) ou les temporisations d'intervalle POSIX (timer_create(3), etc.) à la place.

VOIR AUSSI
alarm(2), getitimer(2), nanosleep(2), select(2), setitimer(2), usleep(3), time(7)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 30 juillet 2003 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 ualarm ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.