USLEEP(3)

BEZEICHNUNG
usleep - unterbricht die Ausführung für Mikrosekunden-Intervalle

ÜBERSICHT
#include <unistd.h>

int usleep(useconds_t usec);

Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

usleep():
    Seit Glibc 2.12:
        _BSD_SOURCE ||
            (_XOPEN_SOURCE >= 500 ||
                _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) &&
            !(_POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700)
    Vor Glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

BESCHREIBUNG
Die Funktion usleep() unterbricht die Ausführung des aufrufenden Threads für (wenigstens) usec Mikrosekunden. Das Schlafen kann durch Systemaktivitäten, die Zeit für die Bearbeitung des Aufrufs und die Auflösung der Systemtakte geringfügig verlängert werden.

RÜCKGABEWERT
Die Funktion usleep() liefert im Erfolgsfall 0 zurück. Im Fehlerfall wird -1 zurückgeliefert, wobei errno gesetzt wird, um den Grund des Fehlers anzuzeigen.

FEHLER

EINTR
    Unterbrochen durch ein Signal; siehe signal(7).

EINVAL
    usec ist nicht kleiner als 1000000. (Auf Systemen, auf denen das als Fehler angesehen wird.)

ATTRIBUTE

  Multithreading (siehe pthreads(7))
Die Funktion usleep() ist multithread-fähig.

KONFORM ZU
4.3BSD, POSIX.1-2001. POSIX.1-2001 erklärt diese Funktion für überholt und empfiehlt stattdessen die Verwendung von nanosleep(2). POSIX.1-2008 entfernt die Spezifikation von usleep(). In der ursprünglichen BSD-Implementierung und glibc vor Version 2.2.2 ist der Rückgabewert dieser Funktion vom Typ void. Die POSIX-Version gibt int zurück und dies gilt auch für den seit glibc 2.2.2 verwendeten Prototyp. SUSv2 und POSIX.1-2001 dokumentieren nur die Fehlernummer EINVAL.

ANMERKUNGEN
Der Typ useconds_t ist ein Unsigned-Integer-Typ und kann Zahlen im Bereich [0,1.000.000] aufnehmen. Programme werden besser portierbar, wenn sie diesen Typ nie ausdrücklich erwähnen. Verwenden Sie

#include <unistd.h>
...
    unsigned int Mikrosekunden;
...
    usleep(Mikrosekunden);

Das Zusammenspiel dieser Funktion mit dem Signal SIGALRM und mit anderen Timer-Funktionen wie alarm(2), sleep(3), nanosleep(2), setitimer(2), timer_create(2), timer_delete(2), timer_getoverrun(2), timer_gettime(2), timer_settime(2) und ualarm(3) ist nicht festgelegt.

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

KOLOPHON
This page is part of release 3.70 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother <krd@gulu.net> und Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> erstellt. Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.