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).