Your Browser is not longer supported
Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...
{{viewport.spaceProperty.prod}}
nanosleep - aktuellen Thread suspendieren
&pagelevel(4)&pagelevel
Definition | #include <time.h> int nanosleep(const struct timespec * rqtp, struct timespec * rmtp); |
Beschreibung | Die Funktion nanosleep() suspendiert den aktuellen Thread, bis entweder das durch rqtp angegebene Zeitintervall abgelaufen ist oder bis dem rufenden Thread ein Signal zugestellt wurde, dessen Aktion es ist, eine Signalbehandlungsroutine aufzurufen oder den Prozess zu beenden. Die Zeit der Suspendierung kann eventuell länger sein als angegeben, weil der Wert auf ein Vielfaches der sleep resolution aufgerundet wurde oder weil das System noch andere Aktivitäten ausführt. |
Returnwert | 0 | wenn die angegebene Zeit abgelaufen ist. |
| -1 | wenn nanosleep() von einem Signal unterbrochen wurde. Wenn rmtp kein Nullzeiger ist, wird in diesem Fall außerdem die verbleibende Zeit in der Struktur, auf die rmtp zeigt, abgelegt. Ist rmtp NULL, wird die verbleibende Zeit nicht zurückgegeben. errno wird gesetzt, um den Fehler anzuzeigen.
|
Fehler | nanosleep() schlägt fehl, wenn gilt:
|
| EINTR | nanosleep() wurde von einem Signal unterbrochen. |
| EINVAL
| Im Argument rqtp ist ein Wert in Nanosekunden angegeben, der kleiner als 0 oder größer/gleich 1000 Millionen ist. |
| ENOSYS
| Die Funktion nanosleep() wird in dieser Implementierung nicht unterstützt. |
Siehe auch | sleep() , time.h .
|