Wenn die Funktion mit POSIX-Funktionalität aufgerufen wird, verhält sie sich XPG4-konform, wie folgt: raise()
sendet das Signal sig an den aufrufenden Prozess. Die definierten Signale sind in signal.h
aufgelistet.
Werden Threads verwendet, so wirkt sich die Funktion auf den Prozess oder auf einen Thread wie folgt aus:
Sendet ein Signal an den ablaufenden Thread; Die Wirkung von raise(sig)
ist äuqivalent zum Aufruf pthread_kill(pthread_self()
, sig
).
BS2000
Wenn die Funktion mit BS2000-Funktionalität aufgerufen wird, verhält sie sich abweichend, wie folgt:
Mit raise()
lassen sich STXIT-Ereignisse simulieren sowie STXIT-unabhängige Signale senden (selbst definierte und vom C-Laufzeitsystem vordefinierte).
Für sig kann folgende Untermenge der Signale, die in signal.h
definiert sind, eingesetzt werden:
Signal | STXIT-Klasse | Bedeutung |
SIGHUP
| ABEND
| Abbruch der Dialogstationsleitung |
SIGINT
| ESCPBRK
| Unterbrechung von der Dialogstation mit [K2] |
SIGILL
| PROCHK
| Ausführung einer ungültigen Instruktion |
SIGABRT
| -
| raise-Signal für Programmbeendigung mit _exit(-1) |
SIGFPE
| PROCHK
| fehlerhafte Gleitpunktoperation |
SIGKILL
| -
| raise-Signal für Programmbeendigung mit exit(-1) |
SIGSEGV
| ERROR
| Speicherzugriff mit unerlaubtem Segmentzugriff |
SIGALRM
| RTIMER
| ein Zeitintervall ist abgelaufen (Realzeit) |
SIGTERM
| TERM
| Signal bei Programmbeendigung |
SIGUSR1
| -
| vom Benutzer definiert |
SIGUSR2
| -
| vom Benutzer definiert |
SIGDVZ
| PROCHK
| Division durch 0 |
SIGXCPU
| RUNOUT
| CPU-Zeit ist aufgebraucht |
SIGTIM
| TIMER
| ein Zeit-Intervall ist abgelaufen (CPU-Zeit) |
SIGINTR
| INTR
| SEND-MESSAGE-Kommando |
(Ende)