Namensräume
Varianten
Aktionen

SIG_ERR

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

Ein Wert vom Typ void (*)(int). Wenn er von signal zurückgegeben wird, zeigt er an, dass ein Fehler aufgetreten ist.

[bearbeiten] Beispiel

#include <stdio.h>
#include <stdlib.h>
#include <signal.h>
 
void signal_handler(int sig)
{
    printf("Received signal: %d\n", sig);
}
 
int main(void)
{
    /* Install a signal handler. */
    if (signal(SIGTERM, signal_handler) == SIG_ERR)
    {
        printf("Error while installing a signal handler.\n");
        exit(EXIT_FAILURE);
    }
 
    printf("Sending signal: %d\n", SIGTERM);
    if (raise(SIGTERM) != 0)
    {
        printf("Error while raising the SIGTERM signal.\n");
        exit(EXIT_FAILURE);
    }
 
    printf("Exit main()\n");
    return EXIT_SUCCESS;
}

Ausgabe

Sending signal: 15
Received signal: 15
Exit main()

[bearbeiten] Referenzen

  • C17-Standard (ISO/IEC 9899:2018)
  • 7.14/3 Signalbehandlung <signal.h> (S. 194)
  • 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

setzt einen Signal-Handler für ein bestimmtes Signal
(Funktion) [bearbeiten]
C++-Dokumentation für SIG_ERR