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.