ualarm - Programmer un signal après un nombre donné de
microsecondes
Bibliothèque C standard (
libc,
-lc)
#include <unistd.h>
useconds_t ualarm(useconds_t usecs, useconds_t intervalle);
ualarm() :
Depuis la glibc 2.12 :
(_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200809L)
|| /* glibc >= 2.19 : */ _DEFAULT_SOURCE
|| /* glibc <= 2.19 : */ _BSD_SOURCE
Avant la glibc 2.12 :
_BSD_SOURCE || _XOPEN_SOURCE >= 500
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.
Cette fonction renvoie le nombre de microsecondes restant pour toute alarme
définie précédemment, ou zéro si aucune alarme
n'est en attente.
- EINTR
- Interruption par un signal ; consultez
signal(7).
- 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).
Pour une explication des termes utilisés dans cette section, consulter
attributes(7).
Interface |
Attribut |
Valeur |
ualarm() |
Sécurité des threads |
MT-Safe |
BSD 4.3, POSIX.1-2001. POSIX.1-2001 marque
ualarm() comme
obsolète. POSIX.1-2008 supprime la spécification de
ualarm(). 4.3BSD, SUSv2 et POSIX ne définissent pas d'erreurs.
POSIX.1-2001 ne spécifie pas ce qui se passe si le paramètre
usecs vaut 0. Sur Linux (et probablement la plupart des autres
systèmes), l'effet est d'annuler toute alarme en attente.
Le type
useconds_t est un entier non signé capable de contenir des
entiers dans l'intervalle [0,1000000]. Dans l'implémentation BSD
d'origine et dans la glibc avant la glibc 2.1, les paramètres de
ualarm() étaient des
unsigned int. Les programmes
gagneront en portabilité en évitant de mentionner le type
useconds_t explicitement.
L'interaction entre cette fonction et les autres fonctions de temporisations
comme
alarm(2),
sleep(3),
nanosleep(2),
setitimer(2),
timer_create(2),
timer_delete(2),
timer_getoverrun(2),
timer_gettime(2),
timer_settime(2),
usleep(3) n'est pas spécifiée.
Cette fonction est obsolète. Utilisez
setitimer(2) ou des
temporisations POSIX (
timer_create(2), etc.) à la place.
alarm(2),
getitimer(2),
nanosleep(2),
select(2),
setitimer(2),
usleep(3),
time(7)
La traduction française de cette page de manuel a été
créée par Christophe Blaess
<
https://www.blaess.fr/christophe/>, Stéphan Rafin
<
[email protected]>, Thierry Vignaud
<
[email protected]>, François Micaux, Alain Portal
<
[email protected]>, Jean-Philippe Guérard
<
[email protected]>, Jean-Luc Coulon (f5ibh)
<
[email protected]>, Julien Cristau
<
[email protected]>, Thomas Huriaux <
[email protected]>,
Nicolas François <
[email protected]>, Florentin
Duneau <
[email protected]>, Simon Paillard
<
[email protected]>, Denis Barbier
<
[email protected]> et David Prévot <
[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter
à la
GNU
General Public License version 3 concernant les conditions de copie
et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
[email protected]