sigprocmask(2) sigprocmask(2)
NAME
sigprocmask - Signalmaske ändern oder testen
SYNTAX
#include <signal.h>
int sigprocmask(int how, const sigsett *set, const sigsett *oset);
BESCHREIBUNG
Die Funktion sigprocmask() wird verwendet, um die Signalmaske des auf-
rufenden Prozesses zu überprüfen und/oder zu ändern. Wenn der Wert
SIGBLOCK ist, wird die Menge, auf die das Argument set zeigt, der
aktuellen Signalmaske hinzugefügt. Wenn der Wert SIGUNBLOCK ist, wird
die Menge, auf die das Argument set zeigt, aus der aktuellen Signal-
maske entfernt. Ist der Wert SIGSETMASK, wird die aktuelle Signal-
maske durch die Menge ersetzt, auf die das Argument set zeigt. Ist das
Argument oset nicht NULL, wird die vorherige Maske an der Adresse
gespeichert, auf die oset zeigt. Enthält set NULL, ist der Wert how
nicht bedeutsam und die Signalmaske des Prozesses bleibt unverändert;
hiermit kann der Aufruf verwendet werden, um die momentan blockierten
Signale in Erfahrung zu bringen.
Gibt es auf Verarbeitung wartende, unblockierte Signale nach dem Auf-
ruf von sigprocmask(), so wird mindestens eines dieser Signale empfan-
gen, bevor der Aufruf von sigprocmask() beendet wird.
Es ist nicht möglich, Signale zu blockieren, die nicht ignoriert wer-
den können [siehe sigaction(2)]; diese Beschränkung wird vom System
stillschweigend erzwungen.
Wenn SIGFPE-, SIGILL- oder SIGSEGV-Signale generiert werden, während
sie blockiert sind, ist das Ergebnis undefiniert, es sei denn, sie
sind durch einen kill()- oder raise()-Aufruf erzeugt worden.
Wenn der Aufruf von sigprocmask() fehlschlägt, wird die Signalmaske
des Prozesses nicht verändert.
sigprocmask() schlägt fehl, wenn eine der folgenden Bedingungen wahr
ist:
EINVAL Der Wert des Arguments how entspricht nicht den gültigen
definierten Werten.
EFAULT set oder oset weisen über den zugewiesenen Adreßraum des
Prozesses hinaus.
ERGEBNIS
Bei Erfolg wird von sigprocmask() 0 zurückgegeben. Bei Fehler wird -1
zurückgegeben und errno auf die Fehlernummer gesetzt.
SIEHE AUCH
sigaction(2), signal(2), sigsetops(3C), signal(5).
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98