usleep(3) (BSD Compatibility Package) usleep(3)
NAME
usleep - Ausführung für eine Zeitspanne (in Mikrosekunden) anhalten
SYNTAX
/usr/ucb/cc [flag ...] file ... -lucb
#include <unistd.h>
int usleep(usecondst useconds);
BESCHREIBUNG
Die Funktion usleep() hält die Ausführung des aktuellen Prozesses für
die im Argument useconds angegebene Anzahl von Mikrosekunden an. Die
tatsächliche Zeit, die der Prozeß angehalten wird, kann aufgrund ande-
rer Aktivitäten oder aufgrund der Zeit, die für die Verarbeitung des
Aufrufs benötigt wird, länger als angegeben sein.
Das Argument useconds muß kleiner als 1.000.000 sein. Ist der Wert von
useconds gleich 0, so hat der Aufruf keine Auswirkungen.
Die Funktion usleep() verwendet den Echtzeit-Intervallzeitgeber des
Prozesses, um dem System mitzuteilen, wann der Prozeß fortgesetzt wer-
den soll.
Für jeden Prozeß existiert ein solcher Intervallzeitgeber. Die Funk-
tion usleep() beeinflußt keine bereits vorhandenen Einstellungen des
Zeitgebers. Wenn der Prozeß diesen Zeitgeber vor dem Aufruf von
usleep() bereits gesetzt hat und die durch useconds angegebene Zeit-
spanne der vorherigen Einstellung des Intervallzeitgebers entspricht
beziehungsweise diese übersteigt, wird der Prozeß kurz vor dem Ablau-
fen des Zeitgebers fortgesetzt.
Abhängig von der jeweiligen Implementierung kann die Einteilung (Gra-
nularität) der Zeitgeberwerte Einschränkungen unterliegen. Wenn für
den angeforderten Zeitgeberwert kleinere Einteilungsschritte als von
der Implementierung unterstützt erforderlich sind, wird der tatsächli-
che Zeitgeberwert auf den nächsten unterstützten Wert gerundet.
Interaktionen zwischen usleep() und entweder alarm() oder sleep() sind
nicht definiert.
RÜCKGABEWERT
Nach erfolgreicher Ausführung gibt usleep() den Wert 0 zurück. Andern-
falls wird -1 zurückgegeben und errno zur Anzeige des Fehlers gesetzt.
FEHLER
Die Funktion usleep() kann bei folgender Bedingung fehlschlagen:
EINVAL Als Zeitintervall wurde 1.000.000 oder ein höherer Wert
angegeben.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
usleep(3) (BSD Compatibility Package) usleep(3)
ANWENDUNGSZWECK
Die Funktion usleep() ist hier nur zur Verwendung mit älteren Schnitt-
stellen aufgeführt. Normalerweise ist die Funktion setitimer() dieser
Funktion vorzuziehen.
SIEHE AUCH
alarm(2), sigaction(2), sigpause(3), ualarm(3), getitimer(3C),
sleep(3C-ucb).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98