Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

usleep - Prozess für festgesetzte Zeitspanne anhalten

&pagelevel(4)&pagelevel

Definition

#include <unistd.h>

int usleep(useconds_t useconds);

Beschreibung

Hält den aktuellen Prozess für useconds Mikrosekunden an. Die tatsächliche Zeit, die der Prozess angehalten wird, kann auf Grund anderer Aktivitäten im System oder auf Grund der Zeit, die für die Verarbeitung des Aufrufs benötigt wird, länger als useconds Mikrosekunden sein.

Es muss gelten useconds < 1 000 000. Falls gilt: useconds = 0, hat usleep() keine Wirkung.

Die Routine wird implementiert, indem der Intervallzeitgeber des Prozesses gesetzt und dann gewartet wird, bis er abgelaufen ist. Der vorherige Status dieses Zeitgebers wird gesichert und wiederhergestellt. Wenn die Wartezeit (Sleep Time) die Dauer bis zum Ablauf des vorherigen Zeitgebers überschreitet, wird der Prozess nur so lange angehalten, bis das Signal aufgetreten wäre, und das Signal wird kurz vor Ablauf dieser Wartezeit gesendet.

Werden Threads verwendet, so wirkt sich die Funktion auf den Prozess oder auf einen Thread wie folgt aus: usleep() bewirkt, dass der aktuelle Thread suspendiert wird bis ein angegebenes Zeitintervall abgelaufen ist oder ein Signal an den Thread zugestellt wurde.

Returnwert

0

bei Erfolg.

 

-1

bei Fehler.

Hinweis

usleep() wird aus historischen Gründen unterstützt. Statt dieser Funktion sollte setitimer() verwendet werden.

Siehe auch

alarm(), getitimer(), sigaction(), sleep(), unistd.h.