Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ sleep(3C) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

alarm(2)

pause(2)

sigaction(2)

signal(2)

wait(2)

ualarm(3)

usleep(3)

getitimer(3C)

sigsetjmp(3C)

unistd(4)

sleep(3C)                                                         sleep(3C)

NAME
     sleep - Ausführung unterbrechen

SYNTAX
     #include <unistd.h>

     unsigned int sleep(unsigned int seconds);

BESCHREIBUNG
     Durch die Funktion sleep() wird die Ausführung des laufenden Prozesses
     angehalten, bis entweder die durch das Argument seconds angegebenen
     Sekunden (in Echtzeit) abgelaufen sind, oder bis zur Auslieferung
     eines Signals an den aufrufenden Prozeß, durch das eine Signalbehand-
     lungsfunktion aufgerufen oder der Prozeß beendet wird. Die Unterbre-
     chungszeit kann aufgrund anderer vom System angesetzter Aktivitäten
     auch länger als angefordert sein.

     Wird während der Ausführung von sleep() ein Signal SIGALRM für den
     aufrufenden Prozeß erzeugt, und wird das Signal SIGALRM ignoriert oder
     die Auslieferung des Signals blockiert, ist nicht definiert, ob
     sleep() zurückkehrt, wenn das Signal SIGALRM ansteht. Wenn das Signal
     blockiert wird, ist ferner nicht definiert, ob es nach Rückkehr von
     sleep() unbearbeitet (pending) bleibt oder gelöscht wird.

     Wird während der Ausführung von sleep() ein Signal SIGALRM für den
     aufrufenden Prozeß erzeugt (und zwar nicht aufgrund eines vorhergehen-
     den Aufrufs von alarm()), und wird das Signal SIGALRM weder ignoriert
     noch seine Auslieferung blockiert, ist nicht definiert, ob dieses Sig-
     nal irgendwelche anderen Auswirkungen hat, als die, daß sleep()
     zurückkehrt.

     Wenn eine Signalbehandlungsfunktion sleep() unterbricht und entweder
     den Zeitpunkt, der für die Erzeugung eines Signals SIGALRM vorgesehen
     ist, die dem Signal SIGALRM zugeordnete Aktion oder die Blockierung
     der Auslieferung des Signals überprüft oder ändert, sind die Ergeb-
     nisse undefiniert.

     Wenn eine Signalbehandlungsfunktion sleep() unterbricht und
     siglongjmp() oder longjmp() aufruft, um eine Umgebung wiederherzustel-
     len, die vor dem sleep()-Aufruf gesichert wurde, sind die dem Signal
     SIGALRM zugeordnete Aktion und die Zeit, für die die Erzeugung eines
     Signals SIGALRM vorgesehen ist, unbestimmt. Ferner ist nicht defi-
     niert, ob das Signal SIGALRM blockiert wird, sofern nicht die Signal-
     maske des Prozesses als Teil der Umgebung wiederhergestellt wird.

     Interaktionen zwischen sleep() und setitimer(), ualarm() oder usleep()
     sind nicht definiert.








Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

sleep(3C)                                                         sleep(3C)

RÜCKGABEWERT
     Wenn sleep() zurückkehrt, weil die angeforderte Zeit abgelaufen ist,
     wird der Wert 0 zurückgegeben. Wenn sleep() aufgrund der Auslieferung
     eines Signals vorzeitig zurückkehrt, wird die Zeit in Sekunden zurück-
     gegeben, während der der Prozeß nicht pausiert hat (die angeforderte
     Zeit minus der Zeit, die sich der Prozeß tatsächlich im Schlaf-Zustand
     befand).

SIEHE AUCH
     alarm(2), pause(2), sigaction(2), signal(2), wait(2), ualarm(3),
     usleep(3), getitimer(3C), sigsetjmp(3C), unistd(4).











































Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026