man ualarm (Fonctions bibliothèques) - Programmer un signal après un nombre donné de microsecondes.
NOM
ualarm - Programmer un signal après un nombre donné de microsecondes.
SYNOPSIS
/* version BSD */ #include <unistd.h> unsigned int
ualarm(unsigned int usecs, unsigned int interval); /* version SUSv2 */ #define _XOPEN_SOURCE 500
#include <unistd.h> useconds_t ualarm(useconds_t usecs, useconds_t interval);
DESCRIPTION
La fonction ualarm() programme le signal SIGALRM pour qu'il soit envoyé au processus appelant après (au moins) usecs micro-secondes. 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é, ce signal terminera le processus.
Si l'argument interval est non-nul, d'autres signaux SIGALR seront envoyés toutes les interval micro-secondes après le premier.
VALEUR RENVOYÉE
Cette fonction renvoie le nombre de micro-secondes restant de l'appel précédent, ou zéro si aucune alarme n'est en attente.
ERREURS
- EINTR
- Interruption par un signal.
- EINVAL
- usecs ou interval est plus grand que 1000000 (1 seconde) (sur les systèmes qui considèrent qu'il s'agit d'une erreur).
CONFORMITÉ
BSD 4.3, POSIX 1003.1-2003. 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]. Ce type est défini dans <sys/types.h> inclus par <unistd.h> mais GlibC ne le définit que si _XOPEN_SOURCE a une valeur supérieure ou égale à 500, ou si _XOPEN_SOURCE et _XOPEN_SOURCE_EXTENDED sont toutes deux définies. Les programmes seront plus portables s'ils évitent d'utiliser ce type.
Les interactions entre cette fonction et les autres temporisations comme alarm(), sleep(), nanosleep(), setitimer(), timer_create(), timer_delete(), timer_getoverrun(), timer_gettime(), timer_settime(), usleep() n'est pas spécifiée.
Cette fonction est obsolète, utilisez nanosleep(2) ou setitimer(2) à sa place.
VOIR AUSSI
TRADUCTION
Christophe Blaess, 2003.