Provided by: manpages-de-dev_0.10-1_all bug

BEZEICHNUNG

       sigaction, sigprocmask, sigpending, sigsuspend - POSIX Funktionen zur Signalbenutzung.

       Diese   Handbuchseite   ist   eventuell   veraltet.   Im   Zweifelsfall   ziehen  Sie  die
       englischsprachige Handbuchseite zu Rate, indem Sie

              man -LC 2 sigaction

       eingeben.

ÜBERSICHT

       #include <signal.h>

       int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);

       int sigprocmask(int how, const sigset_t *set, sigset_t *oldset);

       int sigpending(sigset_t *set);

       int sigsuspend(const sigset_t *mask);

BESCHREIBUNG

       Der Systemaufruf sigaction kann zur Veränderung der Aktion für ein Signal benutzt werden.

       signum gibt das Signal an, es kann jedes gültige Signal außer SIGKILL und SIGSTOP sein.

       Wenn act nicht Null ist, wird act als Aktion  für  das  Signal  signum  eingebunden.  Wenn
       oldact nicht Null ist, wird die vorherige Aktion in oldact gespeichert.

       Die Struktur sigaction wird definiert durch

              struct sigaction {
                  void (*sa_handler)(int);
                  sigset_t sa_mask;
                  int sa_flags;
                  void (*sa_restorer)(void);
              }

       Mögliche  Werte  für  sa_handler  sind  SIG_DFL für die voreingestellte Aktion, SIG_IGN um
       dieses Signal zu ignorieren oder ein Zeiger auf eine Signalhandlerfunktion.

       sa_mask ist eine Signalmaske, die  angibt,  welche  Signale  während  der  Ausführung  des
       Signalhandlers blockiert werden sollen.

       sa_flags  ist  das  Ergebnis  einer  bitweisen ODER-Verknüpfung von Null oder mehreren der
       folgenden Flags

              SA_NOCLDSTOP
                     Verhindert  die  Auslösung  von  SIGCHLD-Signalen   wenn   ein   Kindprozess
                     terminiert.

              SA_ONESHOT
                     Stellt  den  Ausgangszustand  des  Status  wieder  her,  der  vor Aufruf des
                     Signalhandlers vorlag. Dies ist das voreingestellte Verhalten.

              SA_RESTART
                     Das Gegenstück zu SA_ONESHOT, womit der Ausgangszustand von vor  Aufruf  des
                     Signalhandlers   nicht  wiederhergestellt  wird.  Dies  erlaubt  kompatibles
                     Verhalten zur BSD Signalsemantik.

              SA_NOMASK
                     Es soll nicht verhindert werden, dass der  Empfang  des  Signals  selbst  in
                     seiner Signalhandlerfunktion möglich ist.

       Das Element sa_restorer ist veraltet und sollte nicht mehr benutzt werden.

       Die Funktion sigprocmask wird benutzt, um die Liste der augenblicklich blockierten Signale
       zu verändern. Das Verhalten der Funktion ist abhängig vom Wert von how, das die  folgenden
       Werte annehmen kann.

              SIG_BLOCK
                     Zu  blockierende  Signale  sind die bereits als zu blockierenden plus die im
                     Argument set angegebenen.

              SIG_UNBLOCK
                     Die Signale in set  werden  von  der  Liste  der  zu  blockierenden  Signale
                     gestrichen.  Es  ist  kein Fehler, Signale zu entfernen, die nicht blockiert
                     werden sollten.

              SIG_SETMASK
                     Die zu blockierenden Signale sind die im Argument set angegebenen.

       Ist das Argument oldset nicht Null, wird der vorherige  Wert  der  Signalmaske  in  oldset
       abgelegt.

       Die  Funktion  sigpending  erlaubt  die  Untersuchung  von  bereits  anliegenden  weiteren
       Signalen, die ausgelöst wurden, während sie blockiert  waren.  Die  Signalmaske  wartender
       Signale wird in set abgelegt.

       Die  Funktion  sigsuspend ersetzt termporär die Signalmaske des Prozesses mit dem Argument
       mask und unterbricht den Prozess dann bis ein Signal empfangen wird.

RÜCKGABEWERTE

       sigaction, sigprocmask, sigpending  und  sigsuspend  liefern  0  bei  Erfolg  und  -1  bei
       aufgetretenen Fehlern.

FEHLER

       EINVAL Ein  ungültiges Signal wurde angegeben. Dieser Fehler wird auch ausgelöst, wenn die
              Aktion für SIGKILL oder SIGSTOP versucht wird, zu ändern, da diese  Aktionen  nicht
              abgefangen werden können.

       EFAULT act,  oldact  oder  der  Signalhandler  verweisen  auf  Speicherbereiche, die keine
              gültigen Teile des Adressraumes des Prozesses sind.

       EINTR  Der Systemaufruf wurde unterbrochen.

ANMERKUNGEN

       Es ist nicht möglich, mit der Funktion sigprocmask die Signale  SIGKILL  oder  SIGSTOP  zu
       blockieren. Versuche werden stillschweigend unterdrückt.

       Die  POSIX Spezifikationen definieren lediglich SA_NOCLDSTOP. Die Benutzung von SA_ONESHOT
       und SA_RESTART ist nicht portabel.

       Wird sigaction  mit  Null  als  zweitem  Argument  aufgerufen,  kann  der  augenblickliche
       Signalhandler abgefragt werden. Die Funktion kann auch dazu benutzt werden, die Gültigkeit
       eines Signales für die augenblickliche Maschine zu überprüfen,  indem  sie  mit  Null  als
       zweitem und drittem Argument aufgerufen wird.

       Siehe auch sigsetops(3) für detaillierte Informationen über die Manipulation von Signalen.

KONFORM ZU

       POSIX

SIEHE AUCH

       sigvec(2)  kill(1),  kill(2),  killpg(2),  pause(2), raise(3), siginterrupt(3), signal(2),
       signal(7), sigsetops(3), sigvec(2).