Das Konzept von Contingency-Routinen bzw. STXIT-Contingency-Routinen ist für C-Programme vorrangig durch folgende C-Bibliotheksfunktionen abgedeckt:
| Signal SIGALRM senden (STXIT-Ereignis RTIMER) |
| Signale senden (simulierte STXIT-Ereignisse und benutzerdefinierte Ereignisse) |
| Signalbearbeitungs-Routinen zuordnen |
STXIT-Contingency-Routinen
Mit alarm
, raise
und signal
lassen sich folgende STXIT-Ereignisklassen behandeln:
Programmüberprüfung (PROCHK)
Intervallzeitgeber CPU-Zeit (TIMER)
Ende der Programmlaufzeit (RUNOUT)
nicht behebbarer Programmfehler (ERROR)
Mitteilung an das Programm (INTR)
nur im Dialog: BREAK/ESCAPE (ESCPBRK)
ABEND
Normale Programmbeendigung (TERM)
Intervallzeitgeber Realzeit (RTIMER)
Die Ereignisklasse SVC-Unterbrechung wird derzeit nicht unterstützt.
Ereignisgesteuerte Routinen
Mit signal
und raise
lassen sich über zwei vom Benutzer definierbare Signale (SIGUSR1, SIGUSR2) zwei ereignisgesteuerte Routinen realisieren.
Die Ereignissteuerung über C-Bibliotheksfunktionen funktioniert nur innerhalb eines Tasks, d.h. die Kommunikation zwischen verschiedenen Tasks ist nicht möglich.
Diese ereignisgesteuerten Routinen sind deshalb intern nicht als Contingency-Routinen, sondern über eine CALL-Schnittstelle realisiert.