Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ bsd_signal(3C) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sigaction(2)

signal(3-ucb)

sigaddset(3C)

sigemptyset(3C)

signal(5)

bsd_signal(3C)                                               bsd_signal(3C)

NAME
     bsdsignal - Vereinfachte Signalfunktionen

SYNTAX
     #include <signal.h>

     void (*bsdsignal(int sig, void (*func)(int)))(int);

BESCHREIBUNG
     Die Funktion bsdsignal() bietet eine teilweise kompatible Schnitt-
     stelle für Programme, die für frühere Systemschnittstellen geschrieben
     wurden (siehe unter ANWENDUNGSZWECK weiter unten).

     Der Funktionsaufruf bsdsignal(sig, func) hat Auswirkungen, die fol-
     gender Implementierung entsprechen:

     void (*bsdsignal(int sig, void (*func)(int)))(int)
     {
          struct sigaction act, oact;

          act.sahandler = func;
          act.saflags = SARESTART;
          sigemptyset(&act.samask);
          sigaddset(&act.samask, sig);
          if (sigaction(sig, &act, &oact) == -1)
               return(SIGERR);
          return(oact.sahandler);
     }

     Die Bearbeitungsroutine sollte folgendermaßen deklariert werden:

     void handler(int sig);

     Hierbei ist sig die Signalnummer. Das Verhalten ist nicht definiert,
     wenn func eine Funktion ist, für die mehr als ein Argument oder ein
     Argument eines anderen Typs erforderlich ist.

RÜCKGABEWERT
     Bei erfolgreicher Ausführung gibt bsdsignal() die frühere Aktion für
     sig zurück. Andernfalls wird SIGERR zurückgegeben und errno gesetzt,
     um den Fehler anzuzeigen.

FEHLER
     Siehe unter sigaction(2).











Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

bsd_signal(3C)                                               bsd_signal(3C)

ANWENDUNGSZWECK
     Diese Funktion ist ein direkter Ersatz für die BSD-Funktion signal()
     für einfache Anwendungen, die eine Routine zur Signalbearbeitung mit
     nur einem Argument installieren. Wird eine BSD-Signalbearbeitungs-
     routine installiert, für die mehr als ein Argument erwartet wird, muß
     in der Anwendung die Verwendung von sigaction() eingefügt werden. Die
     Funktion bsdsignal() unterscheidet sich von der Funktion signal()
     dadurch, daß das Flag SARESTART gesetzt ist und SARESETHAND leer
     ist, wenn bsdsignal() verwendet wird. Der Status dieser Flags ist für
     signal() nicht angegeben.

SIEHE AUCH
     sigaction(2), signal(3-ucb), sigaddset(3C), sigemptyset(3C),
     signal(5).








































Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

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