Beim Auftreten eines Signals sind die folgenden Aktionen möglich:
Ignorieren dieses Signals (siehe Tabelle).
Wenn das Signal während des Ablaufs von Anwender-Programmteilen auftritt: Es wird ein PEND ER mit KCRCCC=70Z und KCRCDC=XTxx aufgerufen (xx ist die Signalnummer).
Der betreffende Vorgang bzw. Workprozess wird beendet.Ausnahme: Ist auf Unix- und Linux-Systemen eine registrierte User Signal Routine vorhanden, dann wird stattdessen diese Routine aufgerufen. Details siehe openUTM-Handbuch „Anwendungen programmieren mit KDCS“.
Wenn das Signal während des Ablaufs von UTM-Systemteilen auftritt: Es führt zum abnormalen Anwendungsende mit REASON=SIGxxx
(xxx ist die Signalnummer).
Die folgende Tabelle zeigt die Reaktion eines Workprozesses auf die einzelnen Signale. Detaillierte Informationen zu den Signalen sind dem C-Headerfile für Signale (signal.h
) zu entnehmen.
Empfangenes Signal | Reaktion |
SIGHUP | wird ignoriert |
SIGINT | wird ignoriert |
SIGQUIT | wird ignoriert |
SIGILL | PEND ER/TRMA1 |
SIGTRAP | wird ignoriert |
SIGABRT | wird ignoriert |
SIGEMT | wird ignoriert |
SIGFPE | PEND ER/TRMA1 |
SIGBUS | PEND ER/TRMA1 |
SIGSEGV | PEND ER/TRMA1 |
SIGSYS | PEND ER/TRMA1 |
SIGPIPE | wird ignoriert |
SIGALRM | PEND ER2/ |
SIGTERM | wird ignoriert |
SIGUSR1 | wird ignoriert |
SIGUSR2 | wird ignoriert |
SIGCHLD | wird ignoriert |
SIGPWR | PEND ER/TRMA1 |
SIGWINCH | wird ignoriert |
SIGURG | wird ignoriert |
SIGIO | wird ignoriert |
SIGTSTP | wird ignoriert |
SIGCONT | wird ignoriert |
SIGTTIN | wird ignoriert |
SIGTTOU | wird ignoriert |
SIGVTALRM | wird ignoriert |
SIGPROF | wird ignoriert |
SIGXCPU | PEND ER/TRMA1 |
SIGXFSZ | PEND ER/TRMA1 |
1TRMA steht für Term Application (= Anwendungsabbruch)
2PEND ER wenn Timer von UTM aufgezogen (KDCDEF Generierung TAC RTIME=<rtime>)
Tritt während der durch ein Signal hervorgerufenen Endebehandlung eine Unterbrechung durch ein weiteres Signal auf, dann wird dieses Signal nicht von openUTM abgefangen. In diesem Fall übernimmt das Betriebssystem die Behandlung der Signalunterbrechung.
Signale in User Signal Routine
Tritt beim Ablauf der User Signal Routine ein weiteres Signal auf, wird die Standardbehandlung des Betriebssystems für dieses Signal aktiviert. Dies führt in der Folge zu einer abnormalen Beendigung der UTM-Anwendung.