Signale

Die signal.h beinhaltet die Funktionalität, um auf Signale zu reagieren.

Mit der Methode signal() können Funktionen definiert werden, die als Reaktion auf bestimmte Signale aufgerufen werden. Außerdem können Signale über die Funktion raise() ausgelöst werden.
Signale können verschiedene Ursprünge haben: Einerseits können sie vom Programm selbst (z.B. durch eine Division durch 0) hervorgerufen werden, sie können aber auch von außen an das Programm geschickt werden. Wenn z.B. Strg+C in der Kommandozeile gedrückt wird, erhält das Programm ein Interrupt-Signal.
Um Portabilität von Signalen zu maximieren, sollten nur sig_atomic_t-Variablen mit dem Attribut volatile in ihnen verändert werden.

Datentypen

Datentyp Bedeutung
sig_atomic_t Integraler Typ, der auch von asynchronen Signalen verändert werden kann

Funktionen (Makros)

Funktion Bedeutung
raise Löst ein bestimmtes Signal aus
signal Legt eine Funktion fest, die beim Auftreten eines Signals ausgelöst wird

Links