Namespaces
Variants

SIG_DFL, SIG_IGN

From cppreference.net
Definiert im Header <signal.h>
#define SIG_DFL /*implementation defined*/
#define SIG_IGN /*implementation defined*/

Die SIG_DFL und SIG_IGN Makros erweitern sich zu integralen Ausdrücken, die nicht gleich der Adresse einer beliebigen Funktion sind. Die Makros definieren Signalbehandlungsstrategien für die signal ( ) Funktion.

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

Inhaltsverzeichnis

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)

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()

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 SIGNAL HANDLING <signal.h>

Siehe auch

C++-Dokumentation für SIG_DFL , SIG_IGN