Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ siginfo(5) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sigaction(2)

waitid(2)

signal(5)

siginfo(5)                                                       siginfo(5)

NAME
     siginfo - Informationen über Signalerzeugung

SYNTAX
     #include <siginfo.h>

BESCHREIBUNG
     Wenn ein Prozeß ein Signal empfängt, können Informationen abgefragt
     werden, die Auskunft darüber geben, warum das System ein Signal gene-
     riert hat [siehe sigaction(2)]. Wenn ein Prozeß seine Sohnprozesse
     überwacht, können Informationen darüber eingeholt werden, warum ein
     Sohnprozeß seinen Zustand geändert hat [siehe waitid(2)]. In jedem
     Fall liefert das System die Informationen in einer Struktur vom Typ
     siginfot zurück, welche die folgenden Informationen enthält:

             int sisigno  /* Signalnummer */
             int sierrno  /* Fehlernummer */
             int sicode   /* Signalcode */

     sisigno enthält die vom System erzeugte Signalnummer. (Bei der Funk-
     tion waitid(2) ist sisigno immer SIGCHLD.)

     Wenn sierrno ungleich Null ist, stellt der Wert eine Fehlernummer
     dar, welche mit dem Signal verknüpft ist; diese Fehlernummer wird in
     errno.h definiert.

     sicode enthält einen Code, der die Ursache des Signals beschreibt.
     Wenn der Wert von sicode kleiner oder gleich 0 ist, wurde das Signal
     von einem Benutzerprozeß erzeugt [siehe kill(2) und sigsend(2)], und
     die Struktur siginfo enthält die folgenden weiteren Informationen:

             pidt sipid  /* Prozeßnummer des Senders */
             uidt siuid  /* Benutzernummer des Senders */

     Ansonsten enthält sicode einen signalspezifischen Grund für die Sig-
     nalerzeugung:



















Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

siginfo(5)                                                       siginfo(5)

     ______________________________________________________________________
    |  Signal  |  Code           |  Grund                                 |
    |__________|_________________|________________________________________|
    |  SIGILL  |  ILLILLOPC     |  ungültige Prozessor-Anweisung         |
    |          |  ILLILLOPN     |  ungültiger Operand                    |
    |          |  ILLILLADR     |  ungültiger Adressierungsmodus         |
    |          |  ILLILLTRP     |  ungültige Unterbrechung               |
    |          |  ILLPRVOPC     |  privilegierte Prozessor-Anweisung     |
    |          |  ILLPRVREG     |  privilegiertes Register               |
    |          |  ILLCOPROC     |  Fehler des Coprozessors               |
    |          |  ILLBADSTK     |  interner Stapelfehler                 |
    |__________|_________________|________________________________________|
    |  SIGFPE  |  FPEINTDIV     |  ganzzahlige Division durch Null       |
    |          |  FPEINTOVF     |  ganzzahliger Überlauf                 |
    |          |  FPEFLTDIV     |  Gleitkommadivision durch Null         |
    |          |  FPEFLTOVF     |  Gleitkommaüberlauf                    |
    |          |  FPEFLTUND     |  Gleitkommaunterlauf                   |
    |          |  FPEFLTRES     |  ungenaues Gleitkommaergebnis          |
    |          |  FPEFLTINV     |  ungültige Gleitkommaoperation         |
    |          |  FPEFLTSUB     |  Index außerhalb des gültigen Bereichs |
    |__________|_________________|________________________________________|
    |  SIGSEGV |  SEGVMAPERR    |  Adresse nicht auf Objekt abgebildet   |
    |          |  SEGVACCERR    |  ungültige Zugriffsrechte für          |
    |          |                 |  abgebildetes Objekt                   |
    |__________|_________________|________________________________________|
    |  SIGBUS  |  BUSADRALN     |  ungültige Adreßzuweisung              |
    |          |  BUSADRERR     |  nichtexistierende physische Adresse   |
    |          |  BUSOBJERR     |  objektspezifischer Hardwarefehler     |
    |__________|_________________|________________________________________|
    |  SIGTRAP |  TRAPBRKPT     |  Prozeß-Haltepunkt                     |
    |          |  TRAPTRACE     |  Prozeß-Trace-Unterbrechung            |
    |__________|_________________|________________________________________|
    |  SIGCHLD |  CLDEXITED     |  Sohnprozeß über exit beendet          |
    |          |  CLDKILLED     |  Sohnprozeß über kill beendet          |
    |          |  CLDDUMPED     |  Sohnprozeß nicht normal beendet       |
    |          |  CLDTRAPPED    |  überwachter Sohnprozeß empfing Signal |
    |          |  CLDSTOPPED    |  Sohnprozeß angehalten                 |
    |          |  CLDCONTINUED  |  angehaltener Sohnprozeß läuft weiter  |
    |__________|_________________|________________________________________|
    |  SIGPOLL |  POLLIN        |  Dateneingabe verfügbar                |
    |          |  POLLOUT       |  Ausgabepuffer verfügbar               |
    |          |  POLLMSG       |  Eingabemeldungen verfügbar            |
    |          |  POLLERR       |  E/A-Fehler                            |
    |          |  POLLPRI       |  Eingabe mit hoher Priorität verfügbar |
    |          |  POLLHUP       |  Verbindung mit Gerät abgebrochen      |
    |__________|_________________|________________________________________|








Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

siginfo(5)                                                       siginfo(5)

     Für Signale, die vom Kernel generiert werden, sind folgende signalab-
     hängige Informationen verfügbar:
     ______________________________________________________________________
    | Signal | Feld            | Wert                                     |
    |________|_________________|__________________________________________|
    | SIGILL | caddrt siaddr | Adresse der fehlerhaften Anweisung       |
    | SIGFPE |                 |                                          |
    |________|_________________|__________________________________________|
    | SIGSEGV| caddrt siaddr | Adresse des fehlerhaften Speicherzugriffs|
    | SIGBUS |                 |                                          |
    |________|_________________|__________________________________________|
    | SIGCHLD| pidt sipid    | Prozeßnummer des Sohnprozesses           |
    |        | int sistatus   | Exit-Wert oder Signal                    |
    |________|_________________|__________________________________________|
    | SIGPOLL| long siband    | Band-Ereignis für POLLIN, POLLOUT      |
    |        |                 | oder POLLMSG                            |
    |________|_________________|__________________________________________|

HINWEISE
     Für SIGCHLD-Signale ist sistatus gleich dem Exit-Wert von Prozessen,
     sofern sicode gleich CLDEXITED ist; ansonsten wird der Wert des Sig-
     nals angenommen, welches den Prozeß dazu veranlaßt hat, den Zustand zu
     ändern. Bei einigen Implementierungen ist der exakte Wert von siaddr
     nicht verfügbar; in diesem Fall ist siaddr garantiert auf derselben
     Seite wie die fehlerhafte Anweisung oder der fehlerhafte Speicherzu-
     griff.

SIEHE AUCH
     sigaction(2), waitid(2), signal(5).

























Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026