sigsuspend(2) sigsuspend(2)
NAME
sigsuspend - Signalmaske installieren und Prozeß deaktivieren
SYNTAX
#include <signal.h>
int sigsuspend(const sigsett *set);
BESCHREIBUNG
sigsuspend() ersetzt die Signalmaske des Prozesses durch die Signal-
maske, auf die set zeigt; danach wird der Prozeß solange deaktiviert,
bis ein Signal empfangen wird, das eine Signalbehandlungsroutine aus-
führt oder den Prozeß beendet.
Wenn die Aktion den Prozeß terminiert, kehrt sigsuspend() nicht
zurück. Wird eine Signalbehandlungsroutine aufgerufen, kehrt sigs-
uspend() nach der Ausführung der Signalbehandlungsroutine zurück. Nach
Rückkehr wird die Signalmaske auf den ursprünglichen Wert vor Ausfüh-
rung von sigsuspend() zurückgesetzt.
Es ist nicht möglich, Signale zu blockieren, die nicht ignoriert wer-
den können [siehe signal(5)]; diese Einschränkung wird vom System
stillschweigend erzwungen.
sigsuspend() schlägt fehl, wenn wenigstens eine der folgenden Bedin-
gungen erfüllt ist:
EINTR Vom aufrufenden Prozeß wird ein Signal abgefangen, und die
Kontrolle wird von der Signalbehandlungsroutine zurückgege-
ben.
EFAULT set weist über den zugewiesenen Adreßraum des Prozesses hin-
aus.
ERGEBNIS
Da sigsuspend() die Prozeßausführung bis auf weiteres anhält, gibt es
keinen Rückgabewert, der die erfolgreiche Ausführung anzeigen könnte.
Bei Fehler wird -1 zurückgegeben und errno gesetzt.
SIEHE AUCH
sigaction(2), sigpause(2), sigprocmask(2), sigsetops(3C), signal(5).
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98