USLEEP

Manuel du programmeur Linux (3)
10 décembre 2013
 

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.66 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> ».


 

Index

NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
ATTRIBUTS
Multithreading (voir pthreads(7))
CONFORMITÉ
NOTES
VOIR AUSSI
COLOPHON
TRADUCTION

This document was created by man2html, using the manual pages.
Time: 21:52:42 GMT, July 12, 2014