USLEEP(3)

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

SYNOPSIS
#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 :
        _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

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.

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.

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.

ATTRIBUTS

  Multithreading (voir pthreads(7))
La fonction usleep() est sûre dans un contexte multithread.

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.

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

#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.

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

COLOPHON
Cette page fait partie de la publication 3.70 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/.

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 à <perkamon-fr@traduc.org>.

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