01 // Fall : Fehlerbehandlung mit Signalen
02 // Datei: esignal1.cpp
03
04
#include <stdio.h>
05 #include <stdlib.h>
06 #include <signal.h>
07 #include
<dos.h> // abhängig vom Betriebssystem
08
09 void mein_signal_handler(int
signal_nummer)
10 {
11 fprintf (stderr,
12 "\n\"esignal1\" bekam Signal
Nr. %d \n",
13 signal_nummer);
14 fcloseall(); // Alles schließen
15
exit (1); // Abbruch melden
16 }
18 int main ()
19 {
20 printf ("\n\nTeste
die Signal-Behandlung\n\n");
21 signal (SIGINT, mein_signal_handler);
22
for (;;) // Endlosschleife
23 {
24 sleep(1); // 1 Sek. warten
25 printf
("Geben Sie CTL-C ein.!\r");
26 }
28 return 0; // Wird nie erreicht !
29
}
30
|
Bild 18-3 Asynchrone Signalbehandlung
|