Provided by: manpages-de-dev_0.5-4.1ubuntu1_all bug

BEZEICHNUNG

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

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