1. NOM

usleep - Interrompre le programme durant un nombre donné de microsecondes

2. SYNOPSIS

 
Sélectionnez
#include <unistd.h>
int usleep(useconds_t usec);



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

usleep() :

  • Depuis la glibc 2.12 :
        .nf _BSD_SOURCE || (_XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) && !(_POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700)


    Avant la glibc 2.12 : _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

3. DESCRIPTION

La fonction usleep() suspend l'exécution du thread appelant durant (au moins) usec microsecondes. La période de sommeil peut être allongée par la charge système, par le temps passé à traiter l'appel de fonction, ou par la granularité des temporisations système.

4. VALEUR RENVOYÉE

La fonction usleep() renvoie 0 en cas de succès. En cas d'erreur, -1 est renvoyé et errno contient le code d'erreur.

5. ERREURS

  • EINTR
        Interruption par un signal ; consultez signal(7).
  • EINVAL
        usec est plus grand que 1 000 000 (sur les systèmes où cela représente une erreur.

6. CONFORMITÉ

BSD 4.3, POSIX.1-2001. POSIX.1-2001 déclare cette fonction comme obsolète ; utilisez nanosleep(2) à la place. POSIX.1-2008 supprime la spécification de usleep(). Dans l'implémentation BSD d'origine et dans la glibc avant la version 2.2.2, le type de retour de cette fonction était void. La version POSIX renvoie un int, ce qui est également le prototype de la glibc depuis la version 2.2.2. Seule la valeur de retour EINVAL est documentée dans SUSv2 et POSIX.1-2001.

7. NOTES

Le type useconds_t est un entier non signé capable de contenir des entiers dans l'intervalle [0,1000000]. Les programmes gagneront en portabilité en évitant de mentionner ce type explicitement. Utilisez

 
Sélectionnez
#include <unistd.h>
...
    unsigned int usecs;
...
    usleep(usecs);

L'interaction entre cette fonction et SIGALRM, ou d'autres fonctions comme alarm(2), sleep(3), nanosleep(2), setitimer(2), timer_create(2), timer_delete(2), timer_getoverrun(2), timer_gettime(2), timer_settime(2), ualarm(3) est indéfinie.

8. VOIR AUSSI

alarm(2), getitimer(2), nanosleep(2), select(2), setitimer(2), sleep(3), ualarm(3), time(7)

9. COLOPHON

Cette page fait partie de la publication 3.52 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

10. TRADUCTION

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Nicolas François et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».