sigprocmask(3-thr) sigprocmask(3-thr)
NAME
sigprocmask - Blockierte Signale prüfen und ändern (Signalfunktionen
der POSIX-Software)
SYNTAX
#include <signal.h>
int sigprocmask(int how, const sigsett *set, sigsett *oset);
PARAMETER
how Gibt an, auf welche Weise die Werte in set geändert werden,
wie durch einen der beschriebenen Argumentwerte definiert.
set Eine Menge von Signalen, anhand derer die Signalmaske des
aktuellen Thread entsprechend dem im Parameter how angegebe-
nen Wert geändert wird.
oset Zeigt auf eine Adresse, an der die zur Zeit des Funktions-
aufrufs von sigprocmask() aktive Signalmaske zurückgegeben
wird.
BESCHREIBUNG
Die Funktion sigprocmask() wird verwendet, um die Signalmaske des auf-
rufenden Prozesses zu überprüfen und/oder zu ändern. Wenn der Wert des
Arguments set nicht NULL ist, zeigt es auf eine Signalmenge, anhand
derer die zur Zeit blockierte Menge geändert wird, und zwar entspre-
chend des im Parameter how angegebenen Werts:
SIGBLOCK
Die Ergebnismenge besteht aus der aktuellen Menge und der Signal-
menge, auf die das Argument set zeigt.
SIGUNBLOCK
Die Ergebnismenge ist die Schnittmenge aus der aktuellen Menge
und der Signalmenge, auf die das Argument set zeigt.
SIGSETMASK
Die Ergebnismenge ist die Signalmenge, auf die das Argument set
zeigt.
Ist das Argument oset nicht NULL, wird die vorherige Maske an der
Adresse gespeichert, auf die oset zeigt.
Da der Wert des Arguments how nicht signifikant ist, und die Signal-
maske des Prozesses unverändert bleibt (es sei denn, set ist kein
Nullzeiger), können über die Funktion sigprocmask() die momentan blok-
kierten Signale in Erfahrung gebracht werden, indem für set ein Null-
zeiger angegeben wird. Damit die zur Zeit des Aufrufs von
sigprocmask() aktive Signalmaske zurückgegeben wird, darf das Argument
oset kein Nullzeiger sein.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
sigprocmask(3-thr) sigprocmask(3-thr)
Liegen nach dem Aufruf der Funktion sigprocmask() noch auf Verarbei-
tung wartende, unblockierte Signale vor, so wird mindestens eines die-
ser Signale ausgeliefert, bevor die Funktion sigprocmask() beendet
wird. Als Systemeinschränkung gilt, daß die Signale SIGKILL und
SIGSTOP nicht blockiert werden können.
Wenn die Funktion sigprocmask() fehlschlägt, wird die Signalmaske des
Prozesses durch diesen Funktionsaufruf nicht geändert.
RÜCKGABEWERTE
Mögliche Rückgabewerte sind:
EINVAL Der durch den Parameter how angegebene Wert entspricht kei-
nem der definierten Werte. Die Signalmaske des Prozesses
bleibt unverändert.
SIEHE AUCH
sigsuspend(2), sigaction(3-thr), sigpending(3-thr), sigsetops(3C),
signal(5).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98