Namespaces
Variants

SIG_ERR

From cppreference.net
Défini dans l'en-tête <signal.h>
#define SIG_ERR /* implementation defined */

Une valeur de type void (*)(int) . Lorsqu'elle est retournée par signal , indique qu'une erreur s'est produite.

Exemple

#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;
}

Sortie :

Sending signal: 15
Received signal: 15
Exit main()
**Traductions effectuées :** - "Run this code" → "Exécuter ce code" - "Output:" → "Sortie :" **Éléments non traduits :** - Toutes les balises HTML et leurs attributs - Le code source C++ dans les balises `
` et ``
- Les termes spécifiques au C++ (SIGTERM, signal_handler, etc.)
- Le texte dans les sections de sortie du programme
- Les commentaires dans le code

Références

  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.14/3 Gestion des signaux <signal.h> (p: 194)
  • Norme C11 (ISO/CEI 9899:2011) :
  • 7.14/3 Gestion des signaux <signal.h> (p: 265)
  • Norme C99 (ISO/IEC 9899:1999) :
  • 7.14/3 Gestion des signaux <signal.h> (p: 246)
  • Norme C89/C90 (ISO/IEC 9899:1990) :
  • 4.7 SIGNAL HANDLING <signal.h>

Voir aussi

définit un gestionnaire de signal pour un signal particulier
(fonction)
Documentation C++ pour SIG_ERR