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:
        (_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200809L)
            || /* Glibc seit 2.19: */ _DEFAULT_SOURCE
            || /* Glibc-Versionen <= 2.19: */ _BSD_SOURCE
    Vor Glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE >= 500

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 größer als oder identisch zu 1000000. (Auf Systemen, auf denen das als Fehler angesehen wird.)

ATTRIBUTE
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
Schnittstelle | Attribut | Wert
usleep() | Multithread-Fähigkeit | MT-Safe

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
BR alarm (2), getitimer(2), nanosleep(2), select(2), setitimer(2), sleep(3), ualarm(3), time(7)

KOLOPHON
Diese Seite ist Teil der Veröffentlichung 4.16 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://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>.