Namensräume
Varianten
Aktionen

SIG_DFL, SIG_IGN

Von cppreference.com
Definiert im Header <signal.h>
#define SIG_DFL /*implementierungsabhängig*/
#define SIG_IGN /*implementierungsabhängig*/

Die Makros SIG_DFL und SIG_IGN werden zu ganzzahligen Ausdrücken erweitert, die nicht gleich der Adresse einer Funktion sind. Die Makros definieren Strategien für die Signalbehandlung für die Funktion signal().

Konstante Erklärung
SIG_DFL Standard-Signalbehandlung
SIG_IGN Signal wird ignoriert

Inhalt

[bearbeiten] Beispiel

#include <signal.h>
#include <stdio.h>
 
int main(void)
{
    /* using the default signal handler */
    raise(SIGTERM);
    printf("Exit main()\n");   /* never reached */
}

Ausgabe

(none)

[bearbeiten] Beispiel

#include <signal.h>
#include <stdio.h>
 
int main(void)
{
    /* ignoring the signal */
    signal(SIGTERM, SIG_IGN);
    raise(SIGTERM);
    printf("Exit main()\n");
}

Ausgabe

Exit main()

[bearbeiten] Referenzen

  • C17-Standard (ISO/IEC 9899:2018)
  • 7.14/3 Signalbehandlung <signal.h> (S. 193)
  • C11-Standard (ISO/IEC 9899:2011)
  • 7.14/3 Signalbehandlung <signal.h> (S. 265)
  • C99-Standard (ISO/IEC 9899:1999)
  • 7.14/3 Signalbehandlung <signal.h> (S. 246)
  • C89/C90-Standard (ISO/IEC 9899:1990)
  • 4.7 SIGNALBEHANDLUNG <signal.h>

[bearbeiten] Siehe auch

C++ Dokumentation für SIG_DFL, SIG_IGN